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

Authorization
string
header
required
Bearer authentication header of the form Bearer <token>, where <token> is your Writer API key.

Headers

Content-Disposition
string
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-Type
string
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-Length
integer<int64>
required
The size of the file in bytes.

Query Parameters

graphId
string<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

id
string
required
A unique identifier of the file.

created_at
string<date-time>
required
The timestamp when the file was uploaded.

name
string
required
The name of the file.

graph_ids
string<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.