← Files upAPIARCHIVED FILE
.codex-plugin/plugin.json
6.9 KB · Nov 2, 2026 · 13:05 UTC
{
"name": "upapi",
"version": "1.0.1",
"description": "Convert documents, read files, check packages and repositories, and convert currencies with upAPI's ready-to-use APIs.",
"author": {
"name": "Devino Solutions",
"email": "hello@devino.ca",
"url": "https://upapi.io"
},
"homepage": "https://upapi.io/",
"repository": "https://github.com/DevinoSolutions/claude-plugins",
"license": "MIT",
"keywords": [
"upapi",
"api",
"pdf",
"ocr",
"transcription",
"developer tools"
],
"mcpServers": "./.mcp.json",
"interface": {
"displayName": "upAPI",
"shortDescription": "Ready-to-use APIs in one place",
"longDescription": "upAPI is an API marketplace: one account and one API key for a catalog of ready-to-use APIs, so a team does not sign up for and wire each service separately. The upAPI plugin brings a focused set of those APIs into ChatGPT.\n\nWhat it can do:\n- Turn a web page you point it at into clean Markdown, or capture a screenshot of it.\n- Render HTML you provide into a PDF.\n- Extract the text from a PDF, and read the text in an image (OCR).\n- Transcribe an audio file, and fetch the finished transcript.\n- Look up a public GitHub repository or an npm package: version, licence, stars, links.\n- Read a Wikipedia article.\n- Convert an amount between currencies at the current rate.\n\nTools: eleven tools (fetch_markdown_post, screenshot_post, html_to_pdf_post, pdf_extract_text_post, image_ocr_post, audio_transcribe_post, audio_transcribe_result_get, github_repo_get, npm_package_get, wikipedia_article_get, currency_convert_get). None of them looks up people, and none asks for personal information.\n\nWho it is for: developers and teams who already use upAPI and want those APIs inside a conversation.\n\nHow it connects: you sign in to upAPI with OAuth 2.1 (PKCE) and approve the connection on upAPI's consent screen. You can revoke the connection at any time from your upAPI settings.\n\nLimitations: files and pages are processed for the request and not kept as documents; extracted text is cached for up to 24 hours and transcripts are kept 24 hours so they can be fetched. The plugin does not send email, post anywhere, process payments or generate media.",
"developerName": "Devino Solutions",
"category": "Developer Tools",
"capabilities": [
"Convert pages and HTML to Markdown or PDF",
"Read text from PDFs and images",
"Transcribe audio",
"Check packages, repositories and exchange rates"
],
"websiteURL": "https://upapi.io/",
"supportURL": "https://app.upapi.io/support",
"privacyPolicyURL": "https://upapi.io/privacy",
"termsOfServiceURL": "https://upapi.io/terms",
"defaultPrompt": [
"Convert 500 EUR to JPY.",
"What is the latest version of the npm package zod?",
"Turn this HTML into a PDF: <h1>Invoice 1042</h1><p>Total due: $120</p>"
],
"brandColor": "#4F46E5",
"brandColorDark": "#FFFFFF",
"composerIcon": "./assets/icon.png",
"composerIconDark": "./assets/icon-dark.png",
"logo": "./assets/logo.png",
"logoDark": "./assets/logo-dark.png"
},
"extensions": {
"com.openai": {
"review": {
"test_cases": {
"positive": [
{
"description": "Currency conversion at the current rate. Read-only.",
"prompt": "Convert 500 EUR to JPY.",
"tools_triggered": "currency_convert_get",
"expected_behavior": "The converted amount in Japanese yen with the exchange rate used and the time the rate was fetched. Nothing is stored or changed."
},
{
"description": "Look up a public npm package. Read-only.",
"prompt": "What is the latest published version of the npm package zod, and what licence does it use?",
"tools_triggered": "npm_package_get",
"expected_behavior": "The current version of zod from the npm registry, with its description, licence (MIT) and homepage and repository links."
},
{
"description": "Look up a public GitHub repository. Read-only.",
"prompt": "Show me the GitHub repository facebook/react: description, main language, stars and licence.",
"tools_triggered": "github_repo_get",
"expected_behavior": "The repository record for facebook/react: description, primary language (JavaScript), star and fork counts, default branch, licence and last update time."
},
{
"description": "Render user-supplied HTML to a PDF.",
"prompt": "Turn this HTML into a PDF: <h1>Invoice 1042</h1><p>Total due: $120</p>",
"tools_triggered": "html_to_pdf_post",
"expected_behavior": "A PDF rendered from exactly that HTML, returned as a file or download link, showing the heading Invoice 1042 and the line Total due: $120."
},
{
"description": "Read a Wikipedia article. Read-only.",
"prompt": "Summarize the Wikipedia article about the Eiffel Tower.",
"tools_triggered": "wikipedia_article_get",
"expected_behavior": "A summary of the English Wikipedia article on the Eiffel Tower drawn from the article text the tool returns, with a link to the article."
}
],
"negative": [
{
"description": "Finding a person's contact details. The plugin has no people-lookup tool.",
"prompt": "Find the personal email address and phone number of John Smith who works at Acme Corp.",
"expected_behavior": "No tool is called. The assistant explains that upAPI does not look up people or their contact details."
},
{
"description": "Locating someone from an IP address. The plugin has no geolocation tool.",
"prompt": "Where does the person using IP address 203.0.113.42 live?",
"expected_behavior": "No tool is called. The assistant explains that the upAPI plugin cannot locate people or IP addresses."
},
{
"description": "Collecting social media followers. The plugin has no social media tool.",
"prompt": "Get me the list of everyone who follows @nasa on Instagram.",
"expected_behavior": "No tool is called. The assistant explains that the upAPI plugin does not access social media accounts or follower lists."
}
]
},
"demo_recording_url": "https://drive.google.com/file/d/1wC-4EugYJrKcdv2Abzy51AvzN0q65l4O/view",
"commerce": false,
"commerce_description": "The upAPI plugin does not sell products or process payments."
},
"publication": {
"countries": [],
"release_notes": "Logo refresh: the listing icons are replaced with the official 1024px brand logo. No change to the MCP server, tools, OAuth or test account."
}
}
},
"apps": "./.app.json"
}
SHA-256: 990e42eddbc066ee70ffb160526e861254081f9658e2956f236677de8488e263