/api/v1/subscription-categories
Create a subscription category
Create a subscription category with an optional contract-notification window.
Last updated
Request
POST /api/v1/subscription-categories
Requires subscription-categories:create. The token creator must remain an active administrator of the token’s organization. Category permissions.
Send Authorization: Bearer YOUR_API_TOKEN and Accept: application/json.
Query parameters
This endpoint does not use query parameters.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | The category name, up to 255 characters. Must be unique among subscription categories in this organization. |
description |
string or null | No | An optional description, up to 10,000 characters. Send null to clear it. |
contract_lookahead_days |
string | No | Contract-expiry notification window. Use a value from category options. Defaults to dont_notify on creation. Cannot be null; use dont_notify to disable notifications. |
Requires Idempotency-Key. Generate one key per action and keep it for retries. Successful responses are remembered for 24 hours per token. Idempotency and retries.
Example
Set ASSETCENTER_API_TOKEN as described in the quick start. Replace example IDs with values from your organization. For a retry, reuse the original key instead of generating another UUID.
curl --request POST "https://my.assetcenter.app/api/v1/subscription-categories" \
--header "Authorization: Bearer $ASSETCENTER_API_TOKEN" \
--header "Accept: application/json" \
--header "Idempotency-Key: $(uuidgen)" \
--header "Content-Type: application/json" \
--data '{"name":"Software"}'
Response
201 Created. Illustrative response; IDs and values will differ.
{
"data": {
"id": 7,
"name": "Software",
"description": null,
"can_delete": true,
"custom_fields": [],
"contract_lookahead_days": "dont_notify"
}
}
The category has the fields described in Get a subscription category. Use the returned category ID as category_id when creating a subscription.
Behavior and constraints
Only name is required. Omitted description is null; contract_lookahead_days defaults to dont_notify. Categories are always created in the token’s organization with type subscription. Add fields using Create a category field. Organization IDs, type, position, and nested custom fields are not writable. Unsupported fields return 422.
Errors
401 means the customer bearer token is missing, expired, revoked, or invalid. 403 means the required permission is missing or the token creator is no longer an active organization administrator. 404 means the category or field is unavailable in this organization. 422 identifies invalid or unsupported input. 429 means a rate limit was reached. Error handling and rate limits. 409 means conflicting key reuse or a data constraint described above.