For the complete documentation index, see llms.txt. This page is also available as Markdown.

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/

Action
Method and Path
Notes

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

held_total and member_count are computed aggregates available only on the retrieve endpoint, they are not included in list responses. Fetch a pool by ID when you need these values.

held_total is the sum of checked_out − consumed − returned across all of the pool's checkout rows. Settled checkouts contribute zero.

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)

Endpoint
Contents

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

Endpoint
Actions
Primary Filters

/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.

Analytics endpoints remain accessible even if Consumption Pools is later removed from your plan. Historical data generated while the feature was active stays readable through the API.

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?