Skip to main content
POST
/
api
/
v1
/
sources
/
{source_id}
/
invocations
Create invocation
curl --request POST \
  --url https://sync.trychroma.com/api/v1/sources/{source_id}/invocations \
  --header 'Content-Type: application/json' \
  --header 'x-chroma-token: <api-key>' \
  --data '
{
  "custom_id": "<string>",
  "metadata": {},
  "object_key": "<string>",
  "ref_identifier": "<unknown>",
  "target_collection_name": "<string>"
}
'
{
  "invocation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}

Authorizations

x-chroma-token
string
header
required

Path Parameters

source_id
string<uuid>
required

Source ID

Body

application/json
custom_id
string | null

Custom ID for Chroma object IDs (optional, S3 sources only). If provided, chunk IDs become "custom_id-{chunk}" instead of "sha256(object_key)-{chunk}". Also stored as "custom_id" metadata on each chunk.

metadata
object

Additional metadata to merge with standard chunk metadata (optional, S3 sources only).

object_key
string | null

Full S3 object key to sync (required for S3 sources, not allowed for other source types). Must be the complete key including any path prefix configured on the source.

ref_identifier
object

Git ref identifier for GitHub sources (optional)

target_collection_name
string | null

Target collection name (optional for S3 sources, required for others). For S3 sources: if not provided, uses collection_name from source config. For GitHub and WebScrape sources: required.

Response

Invocation creation successful

invocation_id
string<uuid>
required

ID of the newly created invocation