Management API Reference
This page is a quick reference for the pool-related Management API endpoints. All endpoints are scoped to your company and follow the standard authentication, pagination (limit / offset), and order_by conventions.
Read operations require licenses_read. Write operations require licenses_write.
For full parameter tables and request/response schemas, refer to the Management API documentation.
Pools
Base path: /api/v1/consumption-pools/
List
GET /consumption-pools/
Filters: customer_account, type, name__icontains
Retrieve
GET /consumption-pools/{id}/
Includes the read-only aggregates held_total and member_count
Create
POST /consumption-pools/
code must be unique per customer account
Update
PATCH /consumption-pools/{id}/
code and type are immutable Changes are rejected
Delete
DELETE /consumption-pools/{id}/
Unlinks all members without modifying their counters
Reset
POST /consumption-pools/{id}/reset/
Zeroes the pool balance and every member's contribution counter
Members
GET /consumption-pools/{id}/members/
Paginated rows with id and held (offline units currently held per member). Filter: id__in
Linking and Unlinking Members
Pool membership is a field on the member resource, not a separate join resource:
License:
PATCH /api/v1/licenses/{id}/with{"consumption_pool": <pool_id>}to link, or{"consumption_pool": null}to unlink.Feature:
PATCH /api/v1/license-product-features/{id}/with the same field.
Mismatched types or accounts are rejected with invalid_pool_type. Both list endpoints support consumption_pool as a filter parameter, so you can retrieve all members of a pool with their full fields:
Offline Checkouts (Read-Only)
GET /api/v1/consumption-pool-license-checkouts/
One row per device reservation on a license pool
GET /api/v1/consumption-pool-license-feature-checkouts/
One row per device and feature reservation on a feature pool
Fields per row: checked_out, consumed, returned, synced_at (null while the checkout is open), plus references to the pool, license (and feature, for feature pools), and device.
Available filters: consumption_pool, license / license_product_feature, device, and synced_at__isnull pass true to retrieve only open reservations, or false for settled ones.
Activity and Analytics
/api/v1/consumption-pools-hourly/
list, aggregate, export
ts__*, consumption_pool(__in), customer_account(__in), action(__in)
/api/v1/consumption-pools-daily/
list, aggregate
date__* and the same dimension filters
/api/v1/license-consumption-activities/
list, hourly, daily, export
ts__*, license__in, customer_account(__in), consumption_pool(__in), consumption_pool__isnull, action__in
/api/v1/license-feature-consumption-activities/
same actions
license_feature__in in place of license__in
The aggregate action accepts a group_by parameter, a comma-separated combination of consumption_pool, customer_account, company, and action and returns consumption sums per time bucket per group. Passing an invalid key returns 400 with the list of accepted values.
Exports: A GET request streams the results as CSV. A POST request queues a background export job and returns {job_id} this requires the reporting data export feature on your plan.
All numeric consumption fields respect the Number.MAX_SAFE_INTEGER bound enforced across the LicenseSpring API. See the MDN documentation for the exact value.
Last updated
Was this helpful?