Subscription & Entitlements
Subscription (license) information and entitlement usage for the current account, including plan details, feature limits, and consumption metrics.
License schema
Returns one account-level license (type is platform, integrator, or endpoint) plus zero or more connector, integrationApp, or integrationAppChild licenses, oldest first.
Pass type=io to receive only the account-level license as a single object (not an array) with _userId added — use this when you need the subscription plan without filtering the list yourself.
Set to io to return only the account-level license as a single object.
Any other value is ignored and the full array is returned.
ioPossible values: List of licenses. With type=io, a single License object instead of an array.
Subscription plan or connector/Integration App license. Fields describe what the plan entitles, not what is configured on the account.
License identifier.
624cb0356309dc3a543733a4Account owner the license belongs to. Present only on the single-object
response of GET /v1/licenses?type=io; absent from the array response.
624cb0346309dc3a543733a2License creation timestamp.
2022-04-05T21:10:13.226ZLast modification timestamp.
2026-05-18T06:14:25.052ZLicense expiration timestamp.
2099-12-31T00:00:00.000ZLicense type (subscription category). Only the account-level license describes the full subscription plan.
platformPossible values: When true, the account is licensed for CDC (change data capture) features.
Subscription tier name — the plan level the account is on. On platform licenses a year
marker in the name identifies the plan generation; the rest of the name is free-form
(packages, custom names).
enterprise (2024)Support plan level.
premierPossible values: Trial end timestamp. Remains populated after the trial ends with the original expiration date.
2024-05-06T00:00:00.000ZConnector id. Present on connector, integrationApp, and integrationAppChild licenses.
5f8489ca15e4c824e38a769fIntegration id. Present on connector, integrationApp, and integrationAppChild licenses.
5f7e39a76bb8d813180a9549Edition id — present on integrationApp and integrationAppChild licenses.
60a2c4e6f321d800129a1a3cParent license id — present only on integrationAppChild licenses. References the parent integrationApp license.
61b3d5f7e432e900130b2b4dConnector/license options (connector edition, add-on licenses, etc.). Present only on connector-specific licenses.
{"connectorEdition":"premium","addonLicenses":[{"type":"store","licenses":[{"addOnEdition":"premium"}]}]}When true, the license/account is eligible for self-service resume after suspension.
falseWhen true, overage charges are disabled for this account.
falseWhen true, the user should be prompted to migrate legacy sandbox data to environments.
falseWhen true, the plan entitles the account to use SSO (Single Sign-On).
trueWhen true, the plan entitles the account to provision users through SCIM.
Derived from the SCIM add-on together with sso — reads false whenever the
plan does not also entitle SSO. Present on account-level licenses.
When true, the plan entitles the account to use VAN (Value Added Network) for EDI.
trueWhen true, the plan entitles the account to use Lookup Caches (in-memory lookups).
trueWhen true, the plan entitles the account to use Abstract Flows (multi-instance templates).
trueWhen true, the plan entitles the account to use API Management (APIM).
trueMaximum number of concurrent flow executions the plan allows.
25Maximum data retention period (in days) the plan allows.
180Maximum audit log retention (in years) the plan allows.
3Remaining prepaid credit balance for Ora (Celigo's AI assistant). Customers purchase credits up front and usage costs are deducted as they interact with Ora.
47.96Remaining prepaid credit balance for AI Agents — LLM/AI capabilities used within flows, APIs, and automations (e.g., AI-powered transforms, hooks). Customers purchase credits up front and usage costs are deducted as AI agents run. This balance is separate from Ora credits.
19.62The account has no licenses, or type=io was requested and the account
has no account-level license.
Unauthorized. The request lacks a valid bearer token, or the provided token failed to authenticate.
Note: the 401 response is produced by the auth middleware before the
request reaches the endpoint handler, so it does not follow the
standard {errors: [...]} envelope. Instead the body is a bare
{message: string} object with no code, no errors array. Callers
handling 401s should key off the HTTP status and the message string,
not try to destructure an errors[].
GET /v1/licenses HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"_id": "624cb0356309dc3a543733a4",
"created": "2024-04-05T21:10:13.226Z",
"lastModified": "2025-08-10T14:22:33.000Z",
"expires": "2099-12-31T00:00:00.000Z",
"type": "platform",
"tier": "enterprise (2024)",
"supportTier": "premier",
"resumable": false,
"disableOverage": false,
"requestUserToMigrateSandbox": false,
"sso": true,
"scim": false,
"van": true,
"cdc": true,
"lookupCache": true,
"abstractFlows": true,
"apiManagement": true,
"concurrency": 25,
"maxAllowedDataRetention": 180,
"auditLogRetentionYears": 3,
"aiConversationsPrepaidBalance": 47.96,
"aiAgentsPrepaidBalance": 19.62,
"platform": {
"production": {
"numEndpoints": 600,
"numAddOnEndpoints": 0,
"numFlows": 80,
"numAddOnFlows": 5000,
"numAgents": 0,
"numAddOnAgents": 100
},
"apiManagement": true,
"numEnvironments": 5
},
"edi": {
"enabled": true,
"onboarded": true,
"disableOverage": false,
"tier": "basic",
"numTradingPartners": 3,
"numAddOnTradingPartners": 0,
"numDocumentTypes": 5,
"numAddOnDocumentTypes": 0,
"labelPrinting": {
"enabled": true,
"onboarded": true,
"numLabels": 10000,
"numAddOnLabels": 0
}
},
"api": {
"builder": true,
"enablePricing": false,
"disableOverages": false,
"numInvocations": 0,
"apimNumInvocations": 0,
"numAddOnInvocations": 0
},
"topics": {
"enabled": true,
"topicsAllowed": 20,
"retentionCeilingDays": 90
},
"filesql": {
"enabled": true
},
"lookupCacheUsage": {
"numUnits": 100000000,
"numAddOnUnits": 0
},
"di": {
"enabled": false,
"volume": 0,
"volumeAddOn": 0,
"disableOverage": false
},
"logging": {
"enabled": true,
"maxLogMode": "detailed",
"maxDebugDuration": 4320,
"maxRetentionPeriod": 180
},
"storage": {
"maxAllowedUsage": 200,
"disableOverage": false
}
}
]Returns entitlement usage for the environment the request is made in -- how many resources it is consuming vs. what is entitled. Pair with GET /v1/licenses for the entitlement limits; the license's pricing model decides what the flow count means.
Entitlement usage
Entitlement usage information for the account/license, keyed by usage category.
AI agent actions consumed in the current billing period, including billable MCP server invocations (tool calls and resource reads). Metered on production usage only.
87Unauthorized. The request lacks a valid bearer token, or the provided token failed to authenticate.
Note: the 401 response is produced by the auth middleware before the
request reaches the endpoint handler, so it does not follow the
standard {errors: [...]} envelope. Instead the body is a bare
{message: string} object with no code, no errors array. Callers
handling 401s should key off the HTTP status and the message string,
not try to destructure an errors[].
GET /v1/licenseEntitlementUsage HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"flowUsage": {
"numEnabled": 12,
"flows": [
{
"_id": "69d097584e0c505cda036df9",
"name": "HubSpot Contacts → Snowflake (Nightly)",
"integration": {
"_id": "69d0973d4e0c505cda0368d1",
"name": "POC – HubSpot → Snowflake"
}
}
]
},
"endpointUsage": {
"numConsumed": 8,
"endpoints": [
{
"type": "http",
"assistant": "hubspot",
"connections": [
{
"_id": "62ac9ab6cd606e428737008e",
"name": "HubSpot (Production)"
}
]
},
{
"type": "rdbms",
"connections": [
{
"_id": "69d096cd4e0c505cda036a3a",
"name": "Snowflake DW"
}
]
}
]
},
"agentUsage": {
"numActive": 0,
"agents": []
},
"environmentUsage": {
"numEnabled": 2,
"environments": [
{
"_id": "60a2c4e6f321d800129a1a3c",
"name": "Production",
"enabled": true
},
{
"_id": "61b3d5f7e432e900130b2b4d",
"name": "Staging",
"enabled": true
}
]
},
"ediTradingPartnerUsage": {
"numConsumed": 1,
"tradingPartners": [
{
"tradingPartnerName": "Acme Corp",
"ediProfiles": [
{
"id": "69014f1691348b59ebed05a9",
"name": "Acme EDI Profile"
}
]
}
]
},
"ediDocumentTypeUsage": {
"numConsumed": 1,
"documents": [
{
"category": "Purchase Order",
"fileDefinitions": [
{
"_id": "69014f1691348b59ebed059b",
"name": "Generic EDI 850"
}
]
}
]
},
"ediLabelPrintingUsage": {
"numConsumed": 1542,
"flows": [
{
"_id": "6a25e22136b14ada888433f4",
"name": "Bartender — UPS labels",
"integration": {
"_id": "69d0973d4e0c505cda0368d1",
"name": "NetSuite — Acme"
},
"numConsumed": 812
},
{
"_id": "6a25e22136b14ada888433f5",
"name": "Bartender — FedEx labels",
"integration": {
"_id": "69d0973d4e0c505cda0368e2",
"name": "NetSuite — Globex"
},
"numConsumed": 530
}
]
},
"apiUsage": {
"ioInvocationCount": 1250,
"apimInvocationCount": 0
},
"syncUsage": {
"entitlement": 0,
"volume": 0
},
"lookupCacheUsage": {
"numUnits": 4820
},
"aiAgentsActionsUsage": 87
}Returns account-wide EDI label-printing (BarTender) consumption bucketed into the trailing 12 ISO weeks (Monday–Sunday UTC), most-recent week first. Each week's total sums every flow and environment under the account. Pair with the ediLabelPrintingUsage block on GET /v1/licenseEntitlementUsage for the current week's per-flow breakdown.
Historic weekly label-printing usage
Historic weekly EDI label-printing (BarTender) consumption, account-wide across all flows and environments. Covers the trailing 12 ISO weeks (Monday–Sunday UTC).
Unauthorized. The request lacks a valid bearer token, or the provided token failed to authenticate.
Note: the 401 response is produced by the auth middleware before the
request reaches the endpoint handler, so it does not follow the
standard {errors: [...]} envelope. Instead the body is a bare
{message: string} object with no code, no errors array. Callers
handling 401s should key off the HTTP status and the message string,
not try to destructure an errors[].
GET /v1/ediLabelPrinting/usage/summary HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"weeks": [
{
"weekStart": "2026-03-30T00:00:00.000Z",
"weekEnd": "2026-04-05T23:59:59.999Z",
"numConsumed": 1820
},
{
"weekStart": "2026-03-23T00:00:00.000Z",
"weekEnd": "2026-03-29T23:59:59.999Z",
"numConsumed": 2410
}
]
}Returns historical monthly usage for accounts whose pricing model meters flow runs (platform licenses), newest month first; the current month's row can carry null usage until the meter has processed. Useful for month-by-month trend analysis of usage vs. allocation. Not available on plans that do not store monthly usage (endpoint and integrator licenses).
Historical monthly usage
Month-by-month usage vs allocation for a billing period.
Calendar year.
2025Calendar month (1-indexed — 1 = January, 12 = December).
5Unauthorized. The request lacks a valid bearer token, or the provided token failed to authenticate.
Note: the 401 response is produced by the auth middleware before the
request reaches the endpoint handler, so it does not follow the
standard {errors: [...]} envelope. Instead the body is a bare
{message: string} object with no code, no errors array. Callers
handling 401s should key off the HTTP status and the message string,
not try to destructure an errors[].
GET /v1/historicalMonthlyUsage HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"month": 5,
"year": 2025,
"allocated": {
"flows": 5080,
"endpoints": 600,
"agents": 100
},
"usage": {
"flows": 23,
"endpoints": 8,
"agents": 0
},
"sandbox": {
"allocated": {
"flows": 0,
"endpoints": 0,
"agents": 0
},
"usage": {
"flows": 0,
"endpoints": 0,
"agents": 0
}
}
},
{
"month": 4,
"year": 2025,
"allocated": {
"flows": 5080,
"endpoints": 600,
"agents": 100,
"apiInvocation": 0
},
"usage": {
"flows": 31,
"endpoints": 16,
"agents": 0,
"apiInvocationCount": 0,
"diVolume": 0
},
"sandbox": {
"allocated": {
"flows": 0,
"endpoints": 0,
"agents": 0
},
"usage": {
"flows": 0,
"endpoints": 0,
"agents": 0
}
}
}
]Returns historical usage records for the current account (legacy usage series).
The response is an array of monthly records with a duration field (milliseconds).
Usage records
A monthly usage record returned by GET /v1/usage.
Calendar year.
2025Calendar month (0-indexed — 0 = January, 11 = December). Differs from historicalMonthlyUsage which uses 1-indexed months.
4Usage duration value in milliseconds (legacy metric).
1660454Unauthorized. The request lacks a valid bearer token, or the provided token failed to authenticate.
Note: the 401 response is produced by the auth middleware before the
request reaches the endpoint handler, so it does not follow the
standard {errors: [...]} envelope. Instead the body is a bare
{message: string} object with no code, no errors array. Callers
handling 401s should key off the HTTP status and the message string,
not try to destructure an errors[].
GET /v1/usage HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"year": 2025,
"month": 4,
"milliseconds": 1660454
}
]Last updated
Was this helpful?