Products
List products
Section titled “List products”GET /v1/organizations/:orgId/productsRequired role: Member.
Query parameters:
| Parameter | Type | Description |
|---|---|---|
archived | "true" | "false" | Filter by archive state. Defaults to active (non-archived) products. |
Response:
{ "products": [ { "id": "...", "name": "My Product", "slug": "my-product", "description": null, "standardId": "wcag-2-2", "conformanceLevel": "aa", "auditFrequency": 12, "isPinned": false, "archivedAt": null, "organizationId": "...", "createdAt": "2024-01-01T00:00:00.000Z", "updatedAt": "2024-01-01T00:00:00.000Z" } ]}Create a product
Section titled “Create a product”POST /v1/organizations/:orgId/productsRequired role: Admin or owner.
Request body:
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Product name (max 100 characters). |
description | string | No | Optional description. |
A URL slug is generated automatically from the name. Returns 201 Created with a Location header.
Get a product
Section titled “Get a product”GET /v1/organizations/:orgId/products/:productSlugRequired role: Member.
Update a product
Section titled “Update a product”PATCH /v1/organizations/:orgId/products/:productSlugRequired role: Admin or owner.
Request body (all fields optional):
| Field | Type | Description |
|---|---|---|
name | string | New name. Regenerates the slug. |
description | string | null | Description. |
standardId | string | null | Override the org’s default standard. |
conformanceLevel | string | null | Override the org’s default conformance level. |
auditFrequency | 0 | 3 | 6 | 12 | null | Months between audits. 0 or null = no schedule. |
Delete a product
Section titled “Delete a product”DELETE /v1/organizations/:orgId/products/:productSlugRequired role: Admin or owner.
Permanently deletes the product and all associated areas, audits, issues, and risks. Returns 204 No Content.
Archive a product
Section titled “Archive a product”POST /v1/organizations/:orgId/products/:productSlug/archiveRequired role: Admin or owner.
Marks the product and all its areas as archived. No new audits, issues, or risks can be created while archived. Idempotent — archiving an already-archived product succeeds.
Unarchive a product
Section titled “Unarchive a product”POST /v1/organizations/:orgId/products/:productSlug/unarchiveRequired role: Admin or owner.
Restores the product and all its areas. Idempotent.
Pin a product
Section titled “Pin a product”POST /v1/organizations/:orgId/products/:productSlug/pinRequired role: Member.
Pins the product for the current user. Pin state is personal.
Unpin a product
Section titled “Unpin a product”POST /v1/organizations/:orgId/products/:productSlug/unpinRequired role: Member.