/api/v1/subscriptions
List subscriptions
List subscriptions in the organization attached to your API token, with optional search, filters and sorting.
Last updated
Request
GET /api/v1/subscriptions
Requires subscriptions:read. See token permissions. Every listed permission is required for this endpoint.
Send Authorization: Bearer YOUR_API_TOKEN and Accept: application/json.
Query parameters
-
pageinteger Optional - The page of results to return. Starts at
1; defaults to1. -
per_pageinteger Optional - The maximum number of results per page. Accepts
1–100; defaults to25. -
searchstring Optional - Up to 255 characters. Matches name, vendor name, plan type or any custom field value. Each space-separated word must match one of those fields. Checkbox custom fields match
yes,no,true,false,1or0. -
statuses[]string array Optional - Up to 100 values, each
available,deployed,cancelled,pausedorretired. -
category_ids[]integer array Optional - Up to 100 category IDs from the subscription categories list. Returns subscriptions in any of the listed categories.
-
sort_fieldstring Optional - One of
id,created_at,updated_at,name,vendor_name,plan_type. Defaults toid. -
sort_directionstring Optional ascordesc. Defaults todesc.
Example
Set ASSETCENTER_API_TOKEN as described in the quick start. Replace example record and option IDs with values from your organization. This example lists deployed subscriptions in category 9, sorted by vendor name.
curl --globoff --request GET "https://my.assetcenter.app/api/v1/subscriptions?statuses[]=deployed&category_ids[]=9&sort_field=vendor_name&sort_direction=asc" \
--header "Authorization: Bearer $ASSETCENTER_API_TOKEN" \
--header "Accept: application/json"
Response
200 OK. Illustrative record and the common pagination fields; inventory responses include additional pagination links and metadata.
{
"data": [
{
"id": 123,
"name": "Team software",
"vendor_name": "Example Software",
"plan_type": null,
"status": "available",
"category_id": 9,
"license_count": 10,
"billing_type": "subscription",
"billing_frequency": "monthly",
"cost": "12.00",
"price_model": "per_license",
"contract_term": null,
"contract_start_date": null,
"contract_end_date": null,
"created_at": "2026-09-07T16:00:00.000000Z",
"updated_at": "2026-09-07T16:00:00.000000Z"
}
],
"links": {
"next": null,
"prev": null
},
"meta": {
"current_page": 1,
"last_page": 1,
"per_page": 25,
"total": 1
}
}
Behavior and constraints
Without sort_field, results are ordered by numeric ID, newest first. Records that tie on the sort field are ordered by ID in the same direction.
Filters combine: a record must match every parameter you send. Within one array parameter, a record may match any of the listed values. Send arrays with repeated bracketed names, such as statuses[]=active&statuses[]=inactive; a bare statuses=active returns 422. Follow links.next until it is null; the links keep your filter and sort parameters. Changing filters or sort part-way through gives a new result set, so start again from page 1.
condition_ids, assignment and components are not available for subscriptions and return 422. tenant_id and account_id are prohibited. There is no updated-since filter; sort by updated_at descending to find recent changes.
Errors
401 means the token is missing, expired, revoked, or not a customer API token. 403 means a required permission or administrator access is missing. 422 identifies invalid or unsupported input; inspect the errors object when present. 429 means a rate limit was reached. See error handling and rate limits.