Skip to content

Areas

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

Required role: Member.

Query parameters:

ParameterTypeDescription
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:

FieldTypeRequiredDescription
namestringYesArea name. Must contain at least one letter or number.
descriptionstringNoOptional 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):

FieldTypeDescription
namestringNew name. Regenerates the slug.
descriptionstring | nullDescription.

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.