Developer API
Proset exposes a REST API and a hosted MCP (Model Context Protocol) server. Both authenticate with a developer API key and operate only on the key owner's own data and plan.
Access and authentication
- REST base URL:
https://proset.ai/api/v1 - MCP URL:
https://proset.ai/mcp - Authentication: send the API key as a bearer token in the
Authorizationheader.
API keys use the format proset_ followed by 64 hexadecimal characters. A key is shown once at creation, stored as a one-way hash, and can be revoked at any time. The default expiry is 90 days; keys can also expire after 30 or 365 days, or never.
Keys are created and managed in the app under Settings → Developer, not through the API itself.
REST endpoints
| Method | Path | Purpose |
|---|---|---|
| POST | /transcribe | Transcribe an audio file or base64-encoded audio into text. |
| POST | /convert | Convert a transcript into an artifact such as a summary, email, or spreadsheet. |
| GET | /me | Return the key owner's profile, plan tier, and usage. |
| GET | /usage | Return the key owner's plan limits and current usage. |
| GET | /recordings | List the key owner's recordings. Supports pagination and search. |
| GET | /recordings/{id} | Return one recording, including its transcript and artifacts. |
| GET | /thought-threads | List the key owner's Thought Threads. |
| GET | /thought-threads/{id} | Return one Thought Thread with its items and context sources. |
| GET | /folders | List the key owner's folders. |
| GET | /knowledge-bases | List the key owner's knowledge bases. |
Transcription accepts an audio file in the multipart field audio or a audio_base64 JSON field, up to 500 MB. Conversion returns Markdown by default; pass outputFormat: "plain" for plain text.
Example request:
curl -X POST https://proset.ai/api/v1/transcribe \
-H "Authorization: Bearer proset_..." \
MCP tools
| Tool | Purpose |
|---|---|
transcribe | Transcribe base64-encoded audio. |
convert | Convert a transcript into an artifact. |
list_recordings | List recordings. |
get_recording | Fetch one recording with its transcript and artifacts. |
list_thought_threads | List Thought Threads. |
get_thought_thread | Fetch one Thought Thread with its items and contexts. |
list_folders | List folders. |
get_usage | Return plan tier and usage limits. |
Limits and metering
- Transcription and conversion count against the key owner's plan allowance, exactly like in-app use.
- Proset does not automatically bill usage overages. When AI Credits reach zero, requests stop until the monthly reset or more prepaid credits are available.
- AI requests are limited to 10 per minute per user.
- Every endpoint returns data for the key owner only. There is no access to another user's data.
Error codes
| Code | Meaning |
|---|---|
missing_api_key | No API key was provided. |
invalid_api_key | The key is malformed, unknown, or revoked. |
expired_api_key | The key has passed its expiry. |
missing_audio | Transcription was requested without an audio file. |
insufficient_tokens | No monthly or prepaid AI Credits remain. No automatic charge is made. |
spending_cap_reached | The account's monthly spending cap is reached. |
conversion_failed | Conversion could not be completed. |
For connection steps, see Connect Proset to an AI assistant. For a guided first request, follow Build your first Proset API request, or read Why use the developer API and MCP server for the bigger picture.