listings
Operations of the Xema Store API. Paths are relative to your deployment's API host.
GET /api/xema-store-api/listings
List catalog rows (paginated).
Filters by scope/orgId/trustTier/free-text. Gated on store:biome.list@1.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
featured | query | boolean | no | Filter on the operator-curated featured flag. Omit for no filter; true returns the featured shelf. |
includeArchived | query | boolean | no | Include archived listings (default: false). |
includeWithheld | query | boolean | no | Include listings the operator has WITHHELD in this deployment. Operator surfaces only — a catalog read must not set it. |
limit | query | number | no | |
offset | query | number | no | |
q | query | string | no | Free-text search (case-insensitive, ILIKE) over displayName + biomeId. |
scope | query | StoreScope | no | |
trustTier | query | BiomeTrustTier | no |
| Status | Description | Body |
|---|---|---|
| 200 | application/json StoreListingDtoPaginatedEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
POST /api/xema-store-api/listings
Create a new listing.
Admin / first-party authoring entry point. Gated on store:biome.submit@1; the per-version submission endpoint enforces the same ref. The publisher org (and, for scope = org, the owning org) is taken from the authenticated caller — it is not accepted from the body.
Authentication: bearer token (Authorization: Bearer <token>)
Request body: application/json CreateStoreListingDto
| Status | Description | Body |
|---|---|---|
| 201 | application/json StoreListingDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
GET /api/xema-store-api/listings/{id}
Get a single listing.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | application/json StoreListingDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
PATCH /api/xema-store-api/listings/{id}
Update listing metadata (displayName / description).
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Request body: application/json UpdateStoreListingDto
| Status | Description | Body |
|---|---|---|
| 200 | application/json StoreListingDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
POST /api/xema-store-api/listings/{id}/archive
Soft-archive a listing and its non-archived versions.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | application/json StoreListingDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
GET /api/xema-store-api/listings/{id}/versions
List versions of a listing.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | application/json StoreListingVersionDtoDataArrayEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
GET /api/xema-store-api/listings/{id}/versions/{version}
Get a single version (includes the frozen manifest snapshot + permission digest).
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | |
version | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | application/json StoreListingVersionDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |