Skip to content
Start here

Upload Item.

POST/accounts/{account_id}/ai-search/namespaces/{name}/instances/{id}/items

Uploads a file to a managed AI Search instance via multipart/form-data (max 4MB).

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Path ParametersExpand Collapse
account_id: optional string
name: string
id: string

AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.

maxLength64
minLength1
Body ParametersForm DataExpand Collapse
file: object { file, metadata, wait_for_completion }
file: string

The file to upload (max 4MB). Filename must not exceed 128 characters.

metadata: optional string

JSON string of custom metadata key-value pairs.

wait_for_completion: optional boolean

Wait for indexing to complete before responding. Defaults to false.

ReturnsExpand Collapse
result: object { id, checksum, chunks_count, 9 more }
id: string
checksum: string
chunks_count: number
created_at: string
formatdate-time
file_size: number
key: string
last_seen_at: string
formatdate-time
namespace: string
next_action: "INDEX" or "DELETE"
One of the following:
"INDEX"
"DELETE"
source_id: string

Identifies which data source this item belongs to. “builtin” for uploaded files, “{type}:{source}” for external sources, null for legacy items.

status: "queued" or "running" or "completed" or 3 more
One of the following:
"queued"
"running"
"completed"
"error"
"skipped"
"outdated"
error: optional string
success: boolean

Upload Item.

curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/ai-search/namespaces/$NAME/instances/$ID/items \
    -H 'Content-Type: multipart/form-data' \
    -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    -F file='{"file":"Example data"}'
{
  "result": {
    "id": "id",
    "checksum": "checksum",
    "chunks_count": 0,
    "created_at": "2019-12-27T18:11:19.117Z",
    "file_size": 0,
    "key": "key",
    "last_seen_at": "2019-12-27T18:11:19.117Z",
    "namespace": "namespace",
    "next_action": "INDEX",
    "source_id": "source_id",
    "status": "queued",
    "error": "error"
  },
  "success": true
}
Returns Examples
{
  "result": {
    "id": "id",
    "checksum": "checksum",
    "chunks_count": 0,
    "created_at": "2019-12-27T18:11:19.117Z",
    "file_size": 0,
    "key": "key",
    "last_seen_at": "2019-12-27T18:11:19.117Z",
    "namespace": "namespace",
    "next_action": "INDEX",
    "source_id": "source_id",
    "status": "queued",
    "error": "error"
  },
  "success": true
}