Skip to main content
GET
Get products

Authorizations

Authorization
string
header
required

API key authorization. Pass your API key in the Authorization header as a Bearer token. Both new (gsk_*) and legacy (gsk-) API keys are accepted, e.g. Authorization: Bearer gsk_... or Authorization: Bearer gsk-....

Query Parameters

ids
string[]

Filter by product IDs

organizationIds
string[]

Filter by organization IDs

names
string[]

Filter by product names (exact match, multiple)

name
string

Filter by product name (partial match)

tags
string[]

Filter by tags (returns products with at least one matching tag)

cloned
boolean

Filter by product origin: true returns demo/cloned products (source is not null), false returns user-created products (source is null). Combine with limit=0 to read only the matching count from the Content-Range header.

fromCreatedAt
string<date-time>

Filter products created at or after this timestamp (ISO 8601 format)

toCreatedAt
string<date-time>

Filter products created at or before this timestamp (ISO 8601 format)

sort
string[]

Sort parameters

limit
integer

Maximum number of results to return

offset
integer

Number of results to skip

Response

Products retrieved successfully

id
string
Example:

"prod_123"

organizationId
string
Example:

"org_123"

userId
string | null
Example:

"user_123"

name
string
Example:

"Sample Product"

description
string
Example:

"Sample product description"

riskLevel
enum<string> | null

EU AI Act risk classification. PROHIBITED: banned AI use cases. GPAI: general-purpose AI. GPAI_SYSTEMIC: GPAI with systemic risk. HIGH: high-risk AI system. SPECIAL_SYSTEM: special-category system.

Available options:
PROHIBITED,
GPAI,
GPAI_SYSTEMIC,
HIGH,
SPECIAL_SYSTEM
Example:

"HIGH"

operatorType
enum<string> | null

EU AI Act operator role classification.

Available options:
AUTHORISED_REPRESENTATIVE,
DEPLOYER,
DISTRIBUTER,
IMPORTER,
PRODUCT_MANUFACTURER,
PROVIDER
Example:

"PROVIDER"

interactionMode
enum<string> | null

Who consumes the product's output. CONVERSATIONAL: a person exchanges several turns with it. HUMAN_DIRECT: a person reads the output directly, with no dialogue. PROGRAMMATIC: another system consumes it and no person reads it directly. The onboarding AI suggests a value; the owner can change or clear it. Null means unclassified.

Available options:
CONVERSATIONAL,
HUMAN_DIRECT,
PROGRAMMATIC
Example:

"CONVERSATIONAL"

primaryTask
enum<string> | null

The one dominant task the product performs on its input. The onboarding AI suggests a value; the owner can change or clear it. Null means unclassified.

Available options:
CONVERSATIONAL_ASSISTANCE,
QUESTION_ANSWERING_RAG,
DOCUMENT_EXTRACTION,
DOCUMENT_GENERATION,
SUMMARIZATION,
CLASSIFICATION,
TRANSLATION,
CORRECTION,
AGENTIC_WORKFLOW,
OTHER
Example:

"QUESTION_ANSWERING_RAG"

capabilities
string | null
Example:

"Can process and analyze data"

inabilities
string | null
Example:

"Cannot process sensitive financial data"

policies
string | null
Example:

"Must comply with data protection regulations"

otelInputSourceRule
object | null

Recover a turn's user-visible input for products whose user message lives on a non-LLM span. Set per product or version (version wins). Per span it applies only when no LLM input is present. Per turn the value it extracts IS the turn input, ahead of every fallback, and the turn input is EMPTY when the rule extracts nothing from any span of the turn. The two directions resolve independently.

Example:
otelOutputSourceRule
object | null

Recover a turn's user-visible output for templated or non-LLM replies whose final answer lives on a non-LLM span. Set per product or version (version wins). Per span it applies only when no LLM output is present. Per turn the value it extracts IS the turn output, ahead of every fallback, and the turn output is EMPTY when the rule extracts nothing from any span of the turn. The two directions resolve independently.

Example:
autoCloseScope
enum<string>
default:ALL

Which sessions the product-level auto-close sweep considers. ALL (default) closes both production and development sessions; PRODUCTION only production sessions; DEVELOPMENT only development (test) sessions; NONE disables auto-close.

Available options:
NONE,
DEVELOPMENT,
PRODUCTION,
ALL
Example:

"ALL"

autoCloseInactivityMinutes
integer
default:30

Minutes of inactivity after which an eligible session is auto-closed.

Required range: x >= 1
Example:

30

closedSessionInferenceCreationPolicy
enum<string>
default:REOPEN_AND_REEVALUATE

What happens when a new trace is created for an already-closed session. REOPEN_AND_REEVALUATE (the default) stores the trace, returns the session to PENDING and marks its existing monitor evaluations OUTDATED so a monitor scores the session again once it closes for good. A development session reopens the same way, without monitor evaluations to outdate. IGNORE drops the trace silently. REJECT returns an error.

Available options:
REJECT,
IGNORE,
REOPEN_AND_REEVALUATE
Example:

"REOPEN_AND_REEVALUATE"

tags
string[]

Free-form labels for organizing products. Normalized to lowercase and trimmed on save.

Example:
source
string | null
read-only

Demo key the product was cloned from (e.g. "banking"); null for user-created products. Server-stamped on demo-clone; not client-writable.

Example:

"banking"

createdAt
string<date-time>
deletedAt
string<date-time> | null