Upload a file
This endpoint initiates an upload session and returns an uploadUrl for the session. Upload your file content using PUT requests to the returned uploadUrl. The file will be processed in the background and indexed into your knowledge base once the upload is complete.
curl -i -X PUT --data-binary @test.txt "$URL"
The resumable uploads use Google Cloud Storage - for more detailed documentation on how to perform the upload step (once you have generated the upload URL) see the Google Cloud Storage documentation.
Pass an optional id in the request body to upsert a previously uploaded document. A subsequent call with the same id overwrites the existing document once the new upload finishes processing. Each call still returns a fresh uploadUrl, so concurrent uploads to the same id do not clobber each other in storage (the last one to finish wins).
This endpoint requires a Data Source ID. To get started:
- Go to the Connectors page
- Create a new API Connector
- Copy the data source ID from the connector details page
- Use this ID in the path parameter
Rate Limits
600 requests per minute.
uploadUrl. Upload your file content using a PUT request to that URL. The file will be processed in the background and indexed into your knowledge base.
id to upsert. Calling this endpoint again with the same id overwrites the previous document once the new upload completes. Each call still returns a fresh uploadUrl.
For detailed documentation on the upload step, see the Google Cloud Storage resumable uploads documentation.
Rate Limits
600 requests per minute.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
Optional unique identifier for the document. We enforce uniqueness on our end. Calling this endpoint again with the same id will overwrite the previously uploaded document once the new upload finishes processing. If not provided, a UUID will be generated automatically and returned as sourceId in the response. Must be alphanumeric and can include underscores and hyphens.
^[a-zA-Z0-9_-]+$UTC timestamp in ISO 8601 format (e.g. '2024-03-20T10:00:00Z')
UTC timestamp in ISO 8601 format (e.g. '2024-03-20T10:00:00Z')
Email addresses of the users that have read access to the document. If not provided, the document can be seen by anyone in Realm. Cannot be an empty array — omit the field instead.
1
