Skip to content

Areas

GET /v1/organizations/:orgId/products/:productSlug/areas

Required role: Member.

Query parameters:

Parameter Type Description
archived "true" | "false" Filter by archive state. Defaults to active areas.

Response:

{
"areas": [
{
"id": "...",
"name": "Checkout",
"slug": "checkout",
"description": null,
"productId": "...",
"archivedAt": null,
"createdAt": "2024-01-01T00:00:00.000Z",
"updatedAt": "2024-01-01T00:00:00.000Z"
}
]
}

POST /v1/organizations/:orgId/products/:productSlug/areas

Required role: Admin or owner.

Cannot create an area in an archived product — returns 409 Conflict.

Request body:

Field Type Required Description
name string Yes Area name. Must contain at least one letter or number.
description string No Optional description.

Returns 201 Created with a Location header.


GET /v1/organizations/:orgId/products/:productSlug/areas/:areaSlug

Required role: Member.


PATCH /v1/organizations/:orgId/products/:productSlug/areas/:areaSlug

Required role: Admin or owner.

Request body (all fields optional):

Field Type Description
name string New name. Regenerates the slug.
description string | null Description.

DELETE /v1/organizations/:orgId/products/:productSlug/areas/:areaSlug

Required role: Admin or owner.

Permanently deletes the area. Issues and risks tagged with this area lose the association. Returns 204 No Content.


POST /v1/organizations/:orgId/products/:productSlug/areas/:areaSlug/archive

Required role: Admin or owner.

Idempotent — archiving an already-archived area succeeds.


POST /v1/organizations/:orgId/products/:productSlug/areas/:areaSlug/unarchive

Required role: Admin or owner.

Returns 409 Conflict if the parent product is still archived.