Upload a file
Uploads a file to be referenced in future API calls. The file is stored under the workspace of the authenticating API key. Maximum file size: 100 MB; empty files are rejected. The file type is determined from the file contents — not the filename or the declared content type — and must be a PDF, a PNG/JPEG/GIF/WebP image, a DOCX/XLSX/PPTX document, an MP3/WAV/FLAC/OGG audio file, or UTF-8 text. Text is reported by its structure as application/json, application/x-ndjson, text/csv, text/markdown, or text/plain.
Query parameters
Workspace to scope the request to. Defaults to the caller’s default workspace.
Workspace to scope the request to. Defaults to the caller’s default workspace.
Store or read this file on the named provider using your own API key for it. Omit to use OpenRouter storage.
Store or read this file on the named provider using your own API key for it. Omit to use OpenRouter storage.
Response
The uploaded file metadata.
Example response
{
"_shape": "openrouter",
"created_at": "2025-01-01T00:00:00Z",
"downloadable": false,
"filename": "document.pdf",
"id": "or_file_011CNha8iCJcU1wXNR6q4V8w",
"mime_type": "application/pdf",
"size_bytes": 1024000,
"type": "file"
}Changes
Changed in 1 of the 303 revisions of this API.94
- ▲
added to the response body
oneOflist for the response statusresponse-body-one-of-added
- ▲
the response's body type changed from
objectto no type for statusresponse-body-type-changed
- ▲
removed the required property
from the response with the statusresponse-required-property-removed
- ▲
removed the required property
from the response with the statusresponse-required-property-removed
- ▲
removed the required property
from the response with the statusresponse-required-property-removed
- ▲
removed the required property
from the response with the statusresponse-required-property-removed
- ▲
removed the required property
from the response with the statusresponse-required-property-removed
- ▲
removed the required property
from the response with the statusresponse-required-property-removed
- ▲
removed the required property
from the response with the statusresponse-required-property-removed
- ○
added the new optional
queryrequest parameterprovidernew-optional-request-parameter
- ○
added response discriminator for the response status
response-body-discriminator-added
- ○
added the non-success response with the status
response-non-success-status-added
- ○
added the non-success response with the status
response-non-success-status-added
This revision also has 1 change that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ▲