API referenceObservability

Add Trace Destination

POST
/v1/admin/workspaces/{workspace_id}/trace-destinations

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.

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

workspace_id*Workspace 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
name*Name
Length1 <= length <= 500
kind*Kind

An open set; the documentation lists today's values.

Match^[a-z][a-z0-9_]{0,62}$
endpoint*Endpoint
Formaturi
Length1 <= length
credential_ref?|

Key Vault reference; never the secret.

content_cap?TraceContentPolicy

The most content this destination may receive. A client's own policy can only lower it.

Default"off"
Value in"off""redacted""full"

Response Body

Successful Response

application/json
  1. response
destination_id*Destination Id
Formatuuid
workspace_id*Workspace Id
Formatuuid
name*Name
kind*Kind

An open set; the documentation lists today's values.

Match^[a-z][a-z0-9_]{0,62}$
endpoint*Endpoint
Formaturi
Length1 <= length
content_cap*TraceContentPolicy

Highest level of prompt and response content allowed in trace destinations.

Value in"off""redacted""full"
status*Status
Value in"active""failing""disabled"
last_test_at*|null
last_test_ok*boolean|null
created_at*Created At
Formatdate-time
Example Request
curl -X POST 'http://dev-sparq.centralindia.cloudapp.azure.com:8000/v1/admin/workspaces/497f6eca-6276-4993-bfeb-53cbbbba6f08/trace-destinations' \  -H 'Content-Type: application/json' \  -d '{  "name": "string",  "kind": "langfuse",  "endpoint": "http://example.com"}'
Example Response
{  "destination_id": "f73cdd0c-5b5d-4102-9dde-c2ec04ceba9e",  "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",  "name": "string",  "kind": "langfuse",  "endpoint": "http://example.com",  "content_cap": "off",  "status": "active",  "last_test_at": "2019-08-24T14:15:22Z",  "last_test_ok": true,  "created_at": "2019-08-24T14:15:22Z"}