curl --request POST \
  --url https://api-prod.extend.app/v1/files \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "<string>",
  "url": "<string>",
  "rawText": "<string>",
  "mediaType": "<string>"
}'
{
  "success": true,
  "file": {
    "object": "file",
    "id": "file_1234",
    "name": "example_file",
    "type": "PDF",
    "contents": {
      "rawText": "This is the raw text content of the file..."
    },
    "metadata": {"pageCount": 10},
    "presignedUrl": "https://s3.example.com/file_1234.pdf",
    "createdAt": "2024-01-01T00:00:00Z",
    "updatedAt": "2024-01-01T00:00:00Z"
  }
}

Deprecation Notice: This endpoint is deprecated and will be removed in a future release. Use the /upload endpoint instead.

Creating a new File is a prerequisite for using that file with the evaluation sets API.

This endpoint will pre-process the contents of the file, and store it in the Extend platform for use in evaluation sets. For files that require pre-processing (e.g. pdfs, images, etc.) this endpoint can take up to 30 seconds to complete.

Supported file types can be found here.

Body

name
string

The name of the file.

url
string

A pre signed URL for the file.

rawText
string

The raw text content of the file.

mediaType
string

The media type of the file. (e.g. application/pdf). Will be inferred if not provided.

Response

success
boolean

A true or false value for whether the file was processed successfully or not.

file
File

A File object representing the newly created file. See the File object for more details.

{
  "success": true,
  "file": {
    "object": "file",
    "id": "file_1234",
    "name": "example_file",
    "type": "PDF",
    "contents": {
      "rawText": "This is the raw text content of the file..."
    },
    "metadata": {"pageCount": 10},
    "presignedUrl": "https://s3.example.com/file_1234.pdf",
    "createdAt": "2024-01-01T00:00:00Z",
    "updatedAt": "2024-01-01T00:00:00Z"
  }
}