API referenceKnowledge

Request Upload

POST
/v1/admin/collections/{collection_id}/uploads

Not available yet. This operation is part of the published contract and answers 501 not_implemented until it is built. The request and response shapes below are final for this contract version.

A short-lived URL to upload one file; scanning and indexing start when it arrives.

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Bearer credential. API keys look like sqk_<geo>_<key_id>_<secret>: treat them as opaque and never put one in a browser. Older keys without the geo part stay valid until rotated. Find a geo's endpoints through GET /.well-known/sparq-discovery before sending a key.

Path Parameters

collection_id*Collection Id
Formatuuid

Header Parameters

Sparq-Workspace?string

For a person signed in to a console with several workspaces: the workspace this call is for, one of their memberships (listMyMemberships). Without it such a person gets workspace_required (400); a workspace they are not a member of is forbidden. It never grants anything, and other callers' credentials ignore it.

Formatuuid
Idempotency-Key?string

Makes a retry safe: the same key, route and body within 24 hours returns the stored response and the same result id. The same key with a different body or route is idempotency_conflict; while the first request runs, idempotency_in_progress.

Length8 <= length <= 128

Request Body

application/json
  1. body

Ask for an upload URL. The file goes straight to storage, never through the API.

title*Title
Length1 <= length <= 500
file_name*File Name
Match^[^/\\\x00]+$
Length1 <= length <= 255
media_type*Media Type
Length3 <= length <= 100
size_bytes*Size Bytes
Range1 <= value <= 209715200
classification?DataClassification

How sensitive data is. Ordered: each level is more sensitive than the one before.

Default"internal"
Value in"public""internal""confidential""restricted"
audience_tenant_id?|

Put the document in this client's part of the collection.

Response Body

Successful Response

application/json
  1. response
document_id*Document Id
Formatuuid
upload_url*Upload Url

Short-lived, single-use URL for one PUT.

Formaturi
Length1 <= length
expires_at*Expires At
Formatdate-time
Example Request
curl -X POST 'http://dev-sparq.centralindia.cloudapp.azure.com:8000/v1/admin/collections/497f6eca-6276-4993-bfeb-53cbbbba6f08/uploads' \  -H 'Content-Type: application/json' \  -d '{  "title": "string",  "file_name": "string",  "media_type": "string",  "size_bytes": 1}'
Example Response
{  "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6",  "upload_url": "http://example.com",  "expires_at": "2019-08-24T14:15:22Z"}