Prerequisites
- You need to have an iOS/Android app that your users can download, OR
- Your users need to have bluetooth-enabled computers/laptops that they can use to transfer recordings over to your web app
Service regions
- US:
https://platform.plaud.ai/developer/api - JP:
https://platform-jp.plaud.ai/developer/api - EU:
https://platform-eu.plaud.ai/developer/api(coming soon)
Authentication model
The Partner API uses two token types:- Partner access token: for partner-level endpoints (for example, transcription endpoints)
- Partner user access token: for user-level partner endpoints. Using it in sdk module.
1) Get a partner access token
POST /oauth/partner/access-token
- Auth method: HTTP Basic Auth (
client_id:secret_key) - Rate limit: 10 requests per minute per
client_id
2) Refresh a partner access token
POST /oauth/partner/access-token/refresh
- Body:
refresh_token(form field)
3) get a partner user token
POST /open/partner/users/access-token
- Header:
Authorization: Bearer <partner_access_token> - Body fields:
user_id(string, required, max length 120)expires_in(integer, optional, range300-86400)
- Rate limit: 10 requests per minute per
client_id + user_id - Returns:
access_token(norefresh_token)
AI transcription (beta)
1) Submit a transcription task
POST /open/partner/ai/transcriptions/
- Header:
Authorization: Bearer <partner_access_token> - Body fields:
file_url(string, required)params(object, optional), supports:transcribe.language(default:auto)transcribe.detection_level(default:segment)vad.decode_silence(default:false)diarization.enabled(default:false)diarization.return_embedding(default:false)
- Rate limit: based on client config
qpm_transcription, default 60 requests per minute
2) Get transcription result
GET /open/partner/ai/transcriptions/{transcription_id}
- Header:
Authorization: Bearer <partner_access_token> - Status values:
RECEIVED | PROGRESS | SUCCESS | FAILURE | REVOKED
status is SUCCESS):
Webhooks
When a transcription task reaches a completed state, the system sends a webhook event to your configured webhook URL.Event trigger
- Event type:
audio_transcribe.completed - Trigger states:
SUCCESS,FAILURE, orREVOKED - Method:
POST
Event payload
Signature header
If your client webhook has asecret_key, the webhook includes:
X-Signature: <hex_digest>
hmac-sha256.
Signature verification steps
Build source string
Create
key=value pairs from sorted fields, skip null values, join with &, then append &secret_key=<secret_key>.Compute digest
Run HMAC-SHA256 using
secret_key as key and the source string bytes as input, output as lowercase hex.Common errors
Commondetail error codes:
CLIENT_NOT_FOUNDSECRET_KEY_INVALIDACCESS_TOKEN_INVALIDREFRESH_TOKEN_INVALIDSIGNATURE_INVALID