Create a file upload intent
/files/intentAuthorization
bearerAuth Send Authorization: Bearer <token> with one of: an app session access token from /auth/verify-otp or /auth/refresh; an OAuth access token from /oauth/token issued for the API origin (its scopes are its permissions); or a personal access token starting with optima_pat_ (see /docs/personal-access-tokens). Personal access tokens cannot create or list tokens, revoke other tokens, sign out, or delete or restore the account. Content routes need the permission of their layer: audio:read/audio:write for recordings, turns:read/turns:write for turns, contacts, source signals, and events, and insights:read/insights:write for suggestions and session summaries; search and recall need turns:read and insights:read. A request without the permission, or for an account whose layer is turned off, returns 403 FORBIDDEN. See /docs/authentication#scopes.
In: header
Header Parameters
Send 1 to pin the documented API contract. If omitted, the latest version is selected.
"1"Value in
- "1"
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/files/intent" \ -H "X-API-Version: 1" \ -H "Content-Type: application/json" \ -d '{ "filename": "string", "mime": "string", "size_bytes": 1, "sha256": "string" }'{ "success": true, "data": { "file": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "filename": "string", "mime": "string", "size_bytes": 1, "sha256": "string", "status": "pending_upload", "url": "http://example.com", "url_expires_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" }, "upload": { "url": "http://example.com", "method": "GET", "headers": { "property1": "string", "property2": "string" }, "expires_at": "2019-08-24T14:15:22Z" } }}