Upload file - Writer AI Studio
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
cURL
curl --location --request POST https://api.writer.com/v1/files \
--header "Authorization: Bearer <token>" \
--header "Accept: */*" \
--header "Content-Disposition: attachment; filename=descriptions.pdf" \
--header "Content-Length: size_in_bytes" \
--header "Content-Type: application/pdf" \
--data-binary "@descriptions.pdf"
Python Example
import os
from pathlib import Path
from writerai import Writer
client = Writer(
# This is the default and can be omitted
api_key=os.environ.get("WRITER_API_KEY"),
)
file = client.files.upload(
content=Path('/path/to/file/descriptions.pdf'),
content_disposition="attachment; filename=descriptions.pdf",
content_type="application/pdf"
)
print(file.id)
JavaScript Example
import fs from 'fs';
import Writer from 'writer-sdk';
const client = new Writer({
apiKey: process.env['WRITER_API_KEY'], // This is the default and can be omitted
});
async function main() {
const file = await client.files.upload({
content: fs.createReadStream('path/to/file/descriptions.pdf'),
'Content-Disposition': 'attachment; filename=descriptions.pdf',
'Content-Type': 'application/pdf',
});
console.log(file.id);
}
main();
Response Example
HTTP Status Code: 200
{
"id": "7c36a365-392f-43ba-840d-8f3103b42572",
"name": "example.pdf",
"created_at": "2024-07-10T14:30:00Z",
"graph_id": [],
"status": "in_progress"
}
Authorizations
Authorizationstring
header
required
Bearer authentication header of the form Bearer <token>, where <token> is your Writer API key.
Headers
Content-Dispositionstring
required
The disposition type of the file, typically used to indicate the form-data name. Use attachment with the filename parameter to specify the name of the file, for example: attachment; filename=example.pdf.
Content-Typestring
required
The MIME type of the file being uploaded. Supports txt, doc, docx, ppt, pptx, jpg, png, eml, html, pdf, srt, csv, xls, xlsx, mp3, and mp4 file extensions.
Content-Lengthinteger<int64>
required
The size of the file in bytes.
Query Parameters
graphIdstring<uuid>
The unique identifier of the Knowledge Graph to associate the uploaded file with. Note: The response from the upload endpoint does not include the graphId field, but the association will be visible when you retrieve the file using the file retrieval endpoint.
Body
The body is of type file.
Response
200 - application/json
idstring
required
A unique identifier of the file.
created_atstring<date-time>
required
The timestamp when the file was uploaded.
namestring
required
The name of the file.
graph_idsstring<uuid>[]
required
A list of Knowledge Graph IDs that the file is associated with. If you provided a graphId during upload, the file is associated with that Knowledge Graph.