Zuplo.Accounts.Account
idThe id of the account
nameThe name of the account
labelThe label of the account
Zuplo.ApiKeys.ApiKey
createdOnWhen the item was created.
updatedOnWhen the item was last updated.
idexpiresOnWhen the key expires.
descriptionThe description of the api key.
keyThe API key's value. You can use this parameter to override Zuplo's default key format, but this is not recommended as you will lose our API Key Leak Detection
Zuplo.ApiKeys.ApiKeyBulkCreateOrUpdateBody
expiresOnWhen the key expires.
descriptionThe description of the api key.
keyThe API key's value. You can use this parameter to override Zuplo's default key format, but this is not recommended as you will lose our API Key Leak Detection
Zuplo.ApiKeys.ApiKeyCreateOrUpdateBody
expiresOnWhen the key expires.
descriptionThe description of the api key.
keyThe API key's value. You can use this parameter to override Zuplo's default key format, but this is not recommended as you will lose our API Key Leak Detection
Zuplo.ApiKeys.ApiKeys
limitoffsettotalZuplo.ApiKeys.Bucket
createdOnWhen the item was created.
updatedOnWhen the item was last updated.
idname^[a-z0-9-]{5,128}$ · requiredA friendly name for the bucket.
isRetrievableWhether the API keys stored in the bucket are retrievable
descriptionA description of the bucket.
Key value pairs to associate with the bucket.
Zuplo.ApiKeys.BucketCreateBody
name^[a-z0-9-]{5,128}$ · requiredA friendly name for the bucket.
descriptionA description of the bucket.
Key value pairs to associate with the bucket.
Zuplo.ApiKeys.BucketUpdateBody
descriptionA description of the bucket.
Key value pairs to associate with the bucket.
Zuplo.ApiKeys.Buckets
limitoffsettotalZuplo.ApiKeys.Consumer
createdOnWhen the item was created.
updatedOnWhen the item was last updated.
idname^[a-z0-9-]{1,128}$ · requiredA friendly name for the consumer. This name is used as the default user.sub property in the API Key Authentication policy.
descriptionA description of the consumer.
Key value pairs to associate with the consumer.
Generic metadata associated with the consumer.
Zuplo.ApiKeys.ConsumerCreateBody
name^[a-z0-9-]{1,128}$ · requiredA friendly name for the consumer. This name is used as the default user.sub property in the API Key Authentication policy.
Email addresses of the managers to invite or a list of managers (with subs) to add to the consumer.
descriptionA description of the consumer.
Key value pairs to associate with the consumer.
Generic metadata associated with the consumer.
Zuplo.ApiKeys.ConsumerUpdateBody
descriptionA description of the consumer.
Key value pairs to associate with the consumer.
Generic metadata associated with the consumer.
Zuplo.ApiKeys.Consumers
limitoffsettotalZuplo.ApiKeys.Manager
emailThe email address of the manager
subThe sub of the manager in the identity provider
Zuplo.ApiKeys.ManagerCreateBody
emailThe email address of the manager
subThe sub of the manager in the identity provider
Zuplo.ApiKeys.Managers
limitoffsettotalZuplo.AuditLogs.ActingAs
subThe subject identifier of the user being impersonated
emailThe email address of the impersonated user (if available)
Zuplo.AuditLogs.Actor
subThe subject identifier of the actor (user ID, API key, etc.)
emailThe email address of the actor (only for user actors)
typeThe type of actor (e.g., 'user', 'consumer', 'service', 'anonymous')
connectionThe authentication connection used (e.g., 'auth0', 'google')
actingAsInformation about the user being impersonated, if any
Additional metadata about the actor
Zuplo.AuditLogs.AuditLog
actionThe action that was performed (e.g., 'account.create', 'project.delete')
Additional metadata about the action
Details about the actor who performed the action
List of resources affected by this action
Contextual information about where and how the action was performed
Information about the API route that triggered this audit event
timestampThe timestamp when the action occurred
requestIdThe unique request ID for correlation
successWhether the action was successful
errorError message if the action failed
Zuplo.AuditLogs.AuditLogsPagination
limitMaximum number of results returned
offsetNumber of results skipped
totalTotal number of results available
hasMoreWhether there are more results available
Zuplo.AuditLogs.AuditLogsResponse
Array of audit log entries
Pagination information
Zuplo.AuditLogs.Context
ipAddressThe IP address of the request
userAgentThe user agent string of the request
countryThe ISO 3166-1 alpha-2 country code (e.g., 'US', 'GB')
regionThe region/state code (e.g., 'CA' for California)
cityThe city name from which the request originated
postalCodeThe postal/ZIP code
metroCodeThe metro code (DMA code in the US)
asOrgThe Autonomous System organization (ISP name)
Zuplo.AuditLogs.Resource
typeThe type of resource (e.g., 'account', 'project', 'deployment')
idThe unique identifier of the resource
Additional metadata about the resource
Zuplo.AuditLogs.Route
sourceThe source system or API that handled the request (e.g., 'api', 'gateway')
urlThe full URL path of the request
methodThe HTTP method used for the request
Zuplo.ClientAuth.OAuthAccessTokenResponse
access_tokentoken_typeexpires_inscopeZuplo.Common.ExpiresOnField
expiresOnWhen the item will expire.
Zuplo.Configurations.Configuration
accountNameprojectNameenvironmentTypesystemConfigurationsZuplo.ConsumerAnalytics.CallsDetailData
consumertimeStamptotalCallsZuplo.ConsumerAnalytics.RequestData
consumermethodroutePathstatusCodetimeStampcitycountryZuplo.ConsumerAnalytics.StatsByStatusCode.TimeWindowFilter
Zuplo.ConsumerAnalytics.StatsData
totalCallsconsumerZuplo.DeploymentStatus.DeploymentStatus
statusurlZuplo.Deployments.Deployment
nameThe name of the deployment. You can find this in the Zuplo Portal under Settings > Environments.
urllabelurlParametercreatedOnupdatedOnloggingIdaccountNameprojectNamestatemessagebranchNameenvironmentTypeZuplo.Deploys.SourceCreateBody
accountNameThe name of the account
projectNameThe name of the project
branchNameThe name of the branch for deployment
Zuplo.Deploys.SourceUrlCreateBody
accountNameThe name of the account
projectNameThe name of the project
branchNameThe name of the branch for deployment
repositoryUrlThe git repository url of the source code
branchThe git branch
shaThe git sha of the commit
Zuplo.Environments.Environment
nameThe name of the environment.
createdOnaccountNameprojectNamebranchNameenvironmentTypeZuplo.Environments.EnvironmentCreateBody
accountNameThe name of the account
projectNameThe name of the project
environmentTypeThe name of the branch for deployment
branchNameThe name of the branch for deployment
Zuplo.HttpProblemDetails.BadRequestProblemResponse
typetitledetailinstanceZuplo.HttpProblemDetails.InternalServerErrorProblemResponse
typetitledetailinstanceZuplo.HttpProblemDetails.NotFoundProblemResponse
typetitledetailinstanceZuplo.HttpProblemDetails.UnauthorizedProblemResponse
typetitledetailinstanceZuplo.ManagedDedicated.Fleet
idFleet ID
nameFleet name
vendorFleet vendor
controlPlaneUrlControl plane URL
isAccountDefaultWhether this is the default fleet for the account
createdOnCreation timestamp
updatedOnLast update timestamp
Zuplo.ManagedDedicated.FleetVendor
Fleet vendor
Zuplo.Metering.Bucket
createdOnWhen the item was created.
updatedOnWhen the item was last updated.
idaccountNameZuplo.Metering.Buckets
limitoffsettotalZuplo.Metering.Plan
createdOnWhen the item was created.
updatedOnWhen the item was last updated.
idhasSubscriptionslabelplanExternalIdtrialDaystrialEndStatusisTrialCollectPaymentZuplo.Metering.PlanCreateBody
labelplanExternalIdtrialDaystrialEndStatusisTrialCollectPaymentZuplo.Metering.PlanUpdateBody
labelplanExternalIdtrialDaystrialEndStatusisTrialCollectPaymentZuplo.Metering.Plans
limitoffsettotalZuplo.Metering.Subscription
createdOnWhen the item was created.
updatedOnWhen the item was last updated.
idplanIdsplanExternalIdsstatustyperenewalStrategyregioncustomerKeysubscriptionExternalIdcustomerExternalIdquotaResetAnchortrialEndStatustrialEndDatetrialStartDatenextBillingCycleproductKeyZuplo.Metering.SubscriptionCreateBody
planIdsplanExternalIdsstatustyperenewalStrategyregioncustomerKeysubscriptionExternalIdcustomerExternalIdquotaResetAnchortrialEndStatustrialEndDatetrialStartDatenextBillingCycleproductKeyZuplo.Metering.SubscriptionUpdateBody
planExternalIdsstatusproratetrialEndDateZuplo.Metering.Subscriptions
limitoffsettotalZuplo.MtlsCertificates.CertificateInfo
subjectCertificate subject
issuerCertificate issuer
validFromCertificate valid from date
validToCertificate valid to date
serialNumberCertificate serial number
Zuplo.MtlsCertificates.Environments
developmentWhether the certificate is enabled for the development environment
previewWhether the certificate is enabled for the preview environment
productionWhether the certificate is enabled for the production environment
Zuplo.MtlsCertificates.MtlsCertificate
idThe unique identifier for the certificate
nameThe name of the certificate. Must be alphanumeric with underscores.
Certificate information
Environments where the certificate is enabled
createdOnWhen the item was created.
updatedOnWhen the item was last updated.
Zuplo.MtlsCertificates.MtlsCertificateCreateBody
nameThe name of the certificate. Must be alphanumeric with underscores.
certificateThe PEM-encoded certificate
keyThe PEM-encoded private key
environmentsList of environments where the certificate should be enabled
Zuplo.MtlsCertificates.MtlsCertificateListResponse
List of mTLS certificates
offsetOffset for pagination
limitLimit for pagination
Zuplo.MtlsCertificates.MtlsCertificateUpdateBody
environmentsList of environments where the certificate should be enabled
Zuplo.Projects.Project
nameThe name of the project
accountNameThe name of the account this project belongs to
Zuplo.Projects.ProjectCreateBody
nameThe name of the project
Zuplo.Tunnels.Tunnel
tunnelIdname^[a-zA-Z0-9-]{3,24}$ · requiredA friendly name for the tunnel.
tokenSet your TUNNEL_TOKEN to this value to connect to the tunnel.
Zuplo.Tunnels.TunnelList
limitoffsettotalZuplo.Tunnels.TunnelListItem
idname^[a-zA-Z0-9-]{3,24}$ · requiredA friendly name for the tunnel.
Zuplo.Tunnels.TunnelTeardownOperation
idstatusmessagedetailsZuplo.Tunnels.TunneledServiceConfiguration
name^[a-zA-Z0-9-]{3,24}$ · requiredA friendly name for the service. This name needs to be unique across all your tunneled services. Changing this will invalidate existing services with the name.
endpointThe URL of the service that the tunnel will forward to, e.g, http://localhost:3000
A list of projects that should have access to this tunneled service under the service://name URL scheme.
Zuplo.Tunnels.TunneledServicesConfiguration
versionThe version of this configuration format.
A list of services that the tunnel will connect to.
Zuplo.Tunnels.TunneledServicesProvisioningOperation
idstatusmessagedetailsZuplo.Variables.Variable
branchcreatedOnWhen the item was created.
updatedOnWhen the item was last updated.
nameThe name of the variable. Must be named in SCREAMING_SNAKE_CASE.
isSecretWhether the variable is a secret.
valueThe value of the variable.
Zuplo.Variables.VariableCreateBody
nameThe name of the variable. Must be named in SCREAMING_SNAKE_CASE.
isSecretWhether the variable is a secret.
valueThe value of the variable.
Addon
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the resource.
nameHuman-readable name for the resource. Between 1 and 256 characters.
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
key^[a-z0-9]+(?:_[a-z0-… · requiredA semi-unique identifier for the resource.
versionVersion of the add-on. Incremented when the add-on is updated.
instanceTypeThe instanceType of the add-ons. Can be "single" or "multiple".
currency^[A-Z]{3}$ · requiredThe currency code of the add-on.
statusThe status of the add-on. Computed based on the effective start and end dates:
- draft = no effectiveFrom
- active = effectiveFrom <= now < effectiveTo
- archived = effectiveTo <= now
The rate cards of the add-on.
List of validation errors.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
deletedAtTimestamp of when the resource was permanently deleted.
Set of key-value pairs managed by the system. Cannot be modified by user.
effectiveFromThe date and time when the add-on becomes effective. When not specified, the add-on is a draft.
effectiveToThe date and time when the add-on is no longer effective. When not specified, the add-on is effective indefinitely.
AddonCreate
nameHuman-readable name for the resource. Between 1 and 256 characters.
key^[a-z0-9]+(?:_[a-z0-… · requiredA semi-unique identifier for the resource.
instanceTypeThe instanceType of the add-ons. Can be "single" or "multiple".
currency^[A-Z]{3}$ · requiredThe currency code of the add-on.
The rate cards of the add-on.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
AddonInstanceType
The instanceType of the add-on. Single instance add-ons can be added to subscription only once while add-ons with multiple type can be added more then once.
AddonOrderBy
Order by options for add-ons.
AddonPaginatedResponse
totalCountThe total number of items.
pageThe page index.
pageSizeThe maximum number of items per page.
The items in the current page.
AddonReplaceUpdate
nameHuman-readable name for the resource. Between 1 and 256 characters.
instanceTypeThe instanceType of the add-ons. Can be "single" or "multiple".
The rate cards of the add-on.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
AddonStatus
The status of the add-on defined by the effectiveFrom and effectiveTo properties.
Address
country^[A-Z]{2}$Country code in ISO 3166-1 alpha-2 format.
postalCodePostal code.
stateState or province.
cityCity.
line1First line of the address.
line2Second line of the address.
phoneNumberPhone number.
Alignment
billablesMustAlignWhether all Billable items and RateCards must align. Alignment means the Price's BillingCadence must align for both duration and anchor time.
Annotations
App
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="stripe" · requires: id, name, createdAt +6 more | |
| type = object · type="sandbox" · requires: id, name, createdAt +3 more | |
| type = object · type="custom_invoicing" · requires: id, name, createdAt +5 more |
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the resource.
nameHuman-readable name for the resource. Between 1 and 256 characters.
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
A marketplace listing. Represent an available app in the app marketplace that can be installed to the organization.
Marketplace apps only exist in config so they don't extend the Resource model.
statusApp installed status.
typeThe app's type is Stripe.
stripeAccountIdThe Stripe account ID.
livemodeLivemode, true if the app is in production mode.
maskedAPIKeyThe masked API key. Only shows the first 8 and last 3 characters.
descriptionOptional description of the resource. Maximum 1024 characters.
Set of key-value pairs. Metadata can be used to store additional information about a resource.
deletedAtTimestamp of when the resource was permanently deleted.
AppBase
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the resource.
nameHuman-readable name for the resource. Between 1 and 256 characters.
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
The marketplace listing that this installed app is based on.
statusStatus of the app connection.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
deletedAtTimestamp of when the resource was permanently deleted.
AppCapability
typeThe capability type.
key^[a-z0-9]+(?:_[a-z0-… · requiredKey
nameThe capability name.
descriptionThe capability description.
AppCapabilityType
App capability type.
AppPaginatedResponse
totalCountThe total number of items.
pageThe page index.
pageSizeThe maximum number of items per page.
The items in the current page.
AppReadOrCreateOrUpdateOrDeleteOrQuery
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="stripe" · requires: id, name, createdAt +6 more | |
| type = object · type="sandbox" · requires: id, name, createdAt +3 more | |
| type = object · type="custom_invoicing" · requires: id, name, createdAt +5 more |
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the resource.
nameHuman-readable name for the resource. Between 1 and 256 characters.
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
A marketplace listing. Represent an available app in the app marketplace that can be installed to the organization.
Marketplace apps only exist in config so they don't extend the Resource model.
statusApp installed status.
typeThe app's type is Stripe.
stripeAccountIdThe Stripe account ID.
livemodeLivemode, true if the app is in production mode.
maskedAPIKeyThe masked API key. Only shows the first 8 and last 3 characters.
descriptionOptional description of the resource. Maximum 1024 characters.
Set of key-value pairs. Metadata can be used to store additional information about a resource.
deletedAtTimestamp of when the resource was permanently deleted.
secretAPIKeyThe Stripe API key.
AppReference
id^[0-7][0-9A-HJKMNP-T… · requiredThe ID of the app.
AppReplaceUpdate
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="stripe" · requires: name | |
| type = object · type="sandbox" · requires: name | |
| type = object · type="custom_invoicing" · requires: name, enableDraftSyncHook, enableIssuingSyncHook |
nameHuman-readable name for the resource. Between 1 and 256 characters.
typeThe app's type is Stripe.
descriptionOptional description of the resource. Maximum 1024 characters.
Set of key-value pairs. Metadata can be used to store additional information about a resource.
secretAPIKeyThe Stripe API key.
BadRequestProblemResponse
typeType contains a URI that identifies the problem type.
titleA a short, human-readable summary of the problem type.
detailA human-readable explanation specific to this occurrence of the problem.
instanceA URI reference that identifies the specific occurrence of the problem.
statusThe HTTP status code generated by the origin server for this occurrence of the problem.
Additional properties specific to the problem type may be present.
BalanceHistoryWindow
A period with a start and end time.
usageThe total usage of the feature in the period.
balanceAtStartThe entitlement balance at the start of the period.
BillingCollectionAlignment
BillingCollectionAlignment specifies when the pending line items should be collected into an invoice.
BillingCustomerProfile
The name and contact information for the supplier this billing profile represents
The billing workflow settings for this profile
The applications used by this billing profile.
Expand settings govern if this includes the whole app object or just the ID references.
BillingDiscountMetadata
correlationId^[0-7][0-9A-HJKMNP-T…Correlation ID for the discount.
This is used to link discounts across different invoices (progressive billing use case).
If not provided, the invoicing engine will auto-generate one. When editing an invoice line, please make sure to keep the same correlation ID of the discount or in progressive billing setups the discount amounts might be incorrect.
BillingDiscountPercentage
percentageThe percentage of the discount.
correlationId^[0-7][0-9A-HJKMNP-T…Correlation ID for the discount.
This is used to link discounts across different invoices (progressive billing use case).
If not provided, the invoicing engine will auto-generate one. When editing an invoice line, please make sure to keep the same correlation ID of the discount or in progressive billing setups the discount amounts might be incorrect.
BillingDiscountReason
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="maximum_spend" | |
| type = object · type="ratecard_percentage" · requires: percentage | |
| type = object · type="ratecard_usage" · requires: quantity |
typeBillingDiscountUsage
quantity^\-?[0-9]+(\.[0-9]+)… · requiredThe quantity of the usage discount.
Must be positive.
correlationId^[0-7][0-9A-HJKMNP-T…Correlation ID for the discount.
This is used to link discounts across different invoices (progressive billing use case).
If not provided, the invoicing engine will auto-generate one. When editing an invoice line, please make sure to keep the same correlation ID of the discount or in progressive billing setups the discount amounts might be incorrect.
BillingInvoiceCustomerExtendedDetails
Mapping to attribute metered usage to the customer
idUnique identifier for the party (if available)
keyAn optional unique key of the party (if available)
nameLegal name or representation of the organization.
The entity's legal ID code used for tax purposes. They may have other numbers, but we're only interested in those valid for tax purposes.
Regular post addresses for where information should be sent if needed.
BillingParty
idUnique identifier for the party (if available)
keyAn optional unique key of the party (if available)
nameLegal name or representation of the organization.
The entity's legal ID code used for tax purposes. They may have other numbers, but we're only interested in those valid for tax purposes.
Regular post addresses for where information should be sent if needed.
BillingPartyReplaceUpdate
keyAn optional unique key of the party (if available)
nameLegal name or representation of the organization.
The entity's legal ID code used for tax purposes. They may have other numbers, but we're only interested in those valid for tax purposes.
Regular post addresses for where information should be sent if needed.
BillingPartyTaxIdentity
codeNormalized tax code shown on the original identity document.
BillingProfile
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the resource.
nameHuman-readable name for the resource. Between 1 and 256 characters.
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
The name and contact information for the supplier this billing profile represents
The billing workflow settings for this profile
The applications used by this billing profile.
Expand settings govern if this includes the whole app object or just the ID references.
defaultIs this the default profile?
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
deletedAtTimestamp of when the resource was permanently deleted.
BillingProfileAppReferences
The tax app used for this workflow
The invoicing app used for this workflow
The payment app used for this workflow
BillingProfileApps
The tax app used for this workflow
The invoicing app used for this workflow
The payment app used for this workflow
BillingProfileAppsCreate
tax^[0-7][0-9A-HJKMNP-T… · requiredThe tax app used for this workflow
invoicing^[0-7][0-9A-HJKMNP-T… · requiredThe invoicing app used for this workflow
payment^[0-7][0-9A-HJKMNP-T… · requiredThe payment app used for this workflow
BillingProfileAppsOrReference
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: tax, invoicing, payment | |
| type = object · requires: tax, invoicing, payment |
App. One of: stripe
App. One of: stripe
App. One of: stripe
BillingProfileCreate
nameHuman-readable name for the resource. Between 1 and 256 characters.
The name and contact information for the supplier this billing profile represents
defaultIs this the default profile?
The billing workflow settings for this profile.
The apps used by this billing profile.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
BillingProfileCustomerOverride
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
customerId^[0-7][0-9A-HJKMNP-T… · requiredThe customer id this override is associated with.
billingProfileId^[0-7][0-9A-HJKMNP-T…The billing profile this override is associated with.
If empty the default profile is looked up dynamically.
BillingProfileCustomerOverrideCreate
billingProfileId^[0-7][0-9A-HJKMNP-T…The billing profile this override is associated with.
If not provided, the default billing profile is chosen if available.
BillingProfileCustomerOverrideExpand
CustomerOverrideExpand specifies the parts of the profile to expand.
BillingProfileCustomerOverrideOrderBy
Order by options for customers.
BillingProfileCustomerOverrideWithDetails
baseBillingProfileId^[0-7][0-9A-HJKMNP-T… · requiredThe billing profile the customerProfile is associated with at the time of query.
customerOverride contains the explicit mapping set in the customer override object. If that is empty, then the baseBillingProfileId is the default profile.
The customer override values.
If empty the merged values are calculated based on the default profile.
Merged billing profile with the customer specific overrides.
The customer this override belongs to.
BillingProfileCustomerOverrideWithDetailsPaginatedResponse
totalCountThe total number of items.
pageThe page index.
pageSizeThe maximum number of items per page.
The items in the current page.
BillingProfileCustomerWorkflowOverride
The tax app used for this workflow
The invoicing app used for this workflow
The payment app used for this workflow
The collection settings for this workflow
The invoicing settings for this workflow
The payment settings for this workflow
The tax settings for this workflow
BillingProfileExpand
BillingProfileExpand details what profile fields to expand
BillingProfileOrderBy
BillingProfileOrderBy specifies the ordering options for profiles
BillingProfilePaginatedResponse
totalCountThe total number of items.
pageThe page index.
pageSizeThe maximum number of items per page.
The items in the current page.
BillingProfileReplaceUpdateWithWorkflow
nameHuman-readable name for the resource. Between 1 and 256 characters.
The name and contact information for the supplier this billing profile represents
defaultIs this the default profile?
The billing workflow settings for this profile.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
BillingTaxIdentificationCode
TaxIdentificationCode is a normalized tax code shown on the original identity document.
BillingWorkflow
The collection settings for this workflow
The invoicing settings for this workflow
The payment settings for this workflow
The tax settings for this workflow
BillingWorkflowAppReferenceType
App reference type specifies the type of reference inside an app reference
BillingWorkflowCollectionAlignment
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="subscription" | |
| type = object · type="anchored" · requires: recurringPeriod |
typeThe type of alignment.
BillingWorkflowCollectionAlignmentAnchored
typeThe type of alignment.
The recurring period for the alignment.
BillingWorkflowCollectionAlignmentSubscription
typeThe type of alignment.
BillingWorkflowCollectionSettings
The alignment for collecting the pending line items into an invoice.
intervalThis grace period can be used to delay the collection of the pending line items specified in alignment.
This is useful, in case of multiple subscriptions having slightly different billing periods.
BillingWorkflowCreate
The collection settings for this workflow
The invoicing settings for this workflow
The payment settings for this workflow
The tax settings for this workflow
BillingWorkflowInvoicingSettings
autoAdvanceWhether to automatically issue the invoice after the draftPeriod has passed.
draftPeriodThe period for the invoice to be kept in draft status for manual reviews.
dueAfterThe period after which the invoice is due. With some payment solutions it's only applicable for manual collection method.
progressiveBillingShould progressive billing be allowed for this workflow?
Default tax configuration to apply to the invoices.
BillingWorkflowLineResolution
BillingWorkflowLineResolution specifies how the line items should be resolved in the invoice
BillingWorkflowPaymentSettings
collectionMethodThe payment method for the invoice.
BillingWorkflowTaxSettings
enabledEnable automatic tax calculation when tax is supported by the app. For example, with Stripe Invoicing when enabled, tax is calculated via Stripe Tax.
enforcedEnforce tax calculation when tax is supported by the app. When enabled, OpenMeter will not allow to create an invoice without tax calculation. Enforcement is different per apps, for example, Stripe app requires customer to have a tax location when starting a paid subscription.
CheckoutSessionCustomTextAfterSubmitParams
Custom text that should be displayed after the payment confirmation button.
Custom text that should be displayed alongside shipping address collection.
Custom text that should be displayed alongside the payment confirmation button.
Custom text that should be displayed in place of the default terms of service agreement text.
ClientAppStartResponse
urlThe URL to start the OAuth2 authorization code grant flow.
CollectionMethod
CollectionMethod specifies how the invoice should be collected (automatic vs manual)
ConflictProblemResponse
typeType contains a URI that identifies the problem type.
titleA a short, human-readable summary of the problem type.
detailA human-readable explanation specific to this occurrence of the problem.
instanceA URI reference that identifies the specific occurrence of the problem.
statusThe HTTP status code generated by the origin server for this occurrence of the problem.
Additional properties specific to the problem type may be present.
CountryCode
^[A-Z]{2}$ISO 3166-1 alpha-2 country code. Custom two-letter country codes are also supported for convenience.
CreateCheckoutSessionTaxIdCollection
enabledEnable tax ID collection during checkout. Defaults to false.
requiredDescribes whether a tax ID is required during checkout. Defaults to never.
CreateCheckoutSessionTaxIdCollectionRequired
Create Stripe checkout session tax ID collection required.
CreateStripeCheckoutSessionBillingAddressCollection
Specify whether Checkout should collect the customer’s billing address.
CreateStripeCheckoutSessionConsentCollection
Determines the position and visibility of the payment method reuse agreement in the UI. When set to auto, Stripe’s defaults will be used. When set to hidden, the payment method reuse agreement text will always be hidden in the UI.
promotionsIf set to auto, enables the collection of customer consent for promotional communications. The Checkout Session will determine whether to display an option to opt into promotional communication from the merchant depending on the customer’s locale. Only available to US merchants.
termsOfServiceIf set to required, it requires customers to check a terms of service checkbox before being able to pay. There must be a valid terms of service URL set in your Stripe Dashboard settings. https://dashboard.stripe.com/settings/public
CreateStripeCheckoutSessionConsentCollectionPaymentMethodReuseAgreement
positionCreate Stripe checkout session consent collection agreement position.
CreateStripeCheckoutSessionConsentCollectionPaymentMethodReuseAgreementPosition
Create Stripe checkout session consent collection agreement position.
CreateStripeCheckoutSessionConsentCollectionPromotions
Create Stripe checkout session consent collection promotions.
CreateStripeCheckoutSessionConsentCollectionTermsOfService
Create Stripe checkout session consent collection terms of service.
CreateStripeCheckoutSessionCustomerUpdate
addressDescribes whether Checkout saves the billing address onto customer.address. To always collect a full billing address, use billing_address_collection. Defaults to never.
nameDescribes whether Checkout saves the name onto customer.name. Defaults to never.
shippingDescribes whether Checkout saves shipping information onto customer.shipping. To collect shipping information, use shipping_address_collection. Defaults to never.
CreateStripeCheckoutSessionCustomerUpdateBehavior
Create Stripe checkout session customer update behavior.
CreateStripeCheckoutSessionRedirectOnCompletion
Create Stripe checkout session redirect on completion.
CreateStripeCheckoutSessionRequest
Provide a customer ID or key to use an existing OpenMeter customer. or provide a customer object to create a new customer.
Options passed to Stripe when creating the checkout session.
appId^[0-7][0-9A-HJKMNP-T…If not provided, the default Stripe app is used if any.
stripeCustomerIdStripe customer ID. If not provided OpenMeter creates a new Stripe customer or uses the OpenMeter customer's default Stripe customer ID.
CreateStripeCheckoutSessionRequestOptions
billingAddressCollectionSpecify whether Checkout should collect the customer’s billing address. Defaults to auto.
cancelURLIf set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website. This parameter is not allowed if ui_mode is embedded.
clientReferenceIDA unique string to reference the Checkout Session. This can be a customer ID, a cart ID, or similar, and can be used to reconcile the session with your internal systems.
Controls what fields on Customer can be updated by the Checkout Session.
Configure fields for the Checkout Session to gather active consent from customers.
currency^[A-Z]{3}$Three-letter ISO currency code, in lowercase.
Display additional text for your customers using custom text.
expiresAtThe Epoch time in seconds at which the Checkout Session will expire. It can be anywhere from 30 minutes to 24 hours after Checkout Session creation. By default, this value is 24 hours from creation.
localeSet of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.
returnURLThe URL to redirect your customer back to after they authenticate or cancel their payment on the payment method’s app or site. This parameter is required if ui_mode is embedded and redirect-based payment methods are enabled on the session.
successURLThe URL to which Stripe should send customers when payment or setup is complete. This parameter is not allowed if ui_mode is embedded. If you’d like to use information from the successful Checkout Session on your page, read the guide on customizing your success page: https://docs.stripe.com/payments/checkout/custom-success-page
uiModeThe UI mode of the Session. Defaults to hosted.
paymentMethodTypesA list of the types of payment methods (e.g., card) this Checkout Session can accept.
redirectOnCompletionThis parameter applies to ui_mode: embedded. Defaults to always. Learn more about the redirect behavior of embedded sessions at https://docs.stripe.com/payments/checkout/custom-success-page?payment-ui=embedded-form
Controls tax ID collection during checkout.
CreateStripeCheckoutSessionResult
customerId^[0-7][0-9A-HJKMNP-T… · requiredThe OpenMeter customer ID.
stripeCustomerIdThe Stripe customer ID.
sessionIdThe checkout session ID.
setupIntentIdThe checkout session setup intent ID.
createdAtTimestamp at which the checkout session was created.
modeMode
Always setup for now.
clientSecretThe client secret of the checkout session. This can be used to initialize Stripe.js for your client-side implementation.
clientReferenceIdA unique string to reference the Checkout Session. This can be a customer ID, a cart ID, or similar, and can be used to reconcile the session with your internal systems.
customerEmailCustomer's email address provided to Stripe.
currency^[A-Z]{3}$Three-letter ISO currency code, in lowercase.
expiresAtTimestamp at which the checkout session will expire.
Set of key-value pairs attached to the checkout session.
statusThe status of the checkout session.
urlURL to show the checkout session.
cancelURLCancel URL.
successURLSuccess URL.
returnURLReturn URL.
CreateStripeCustomerPortalSessionParams
configurationIdThe ID of an existing configuration to use for this session, describing its functionality and features. If not specified, the session uses the default configuration.
See https://docs.stripe.com/api/customer_portal/sessions/create#create_portal_session-configuration
localeThe IETF language tag of the locale customer portal is displayed in. If blank or auto, the customer’s preferred_locales or browser’s locale is used.
See: https://docs.stripe.com/api/customer_portal/sessions/create#create_portal_session-locale
returnUrlThe URL to redirect the customer to after they have completed their requested actions.
See: https://docs.stripe.com/api/customer_portal/sessions/create#create_portal_session-return_url
CreditNoteOriginalInvoiceRef
typeType of the invoice.
urlLink to the source document.
issuedAtIssueAt reflects the time the document was issued.
number(Serial) Number of the referenced document.
reasonHuman readable description on why this reference is here or needs to be used.
descriptionAdditional details about the document.
Currency
code^[A-Z]{3}$ · requiredThe currency ISO code.
nameThe currency name.
symbolThe currency symbol.
subunitsSubunit of the currency.
CurrencyCode
^[A-Z]{3}$Three-letter ISO4217 currency code. Custom three-letter currency codes are also supported for convenience.
CustomInvoicingApp
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the resource.
nameHuman-readable name for the resource. Between 1 and 256 characters.
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
The marketplace listing that this installed app is based on.
statusStatus of the app connection.
typeThe app's type is CustomInvoicing.
enableDraftSyncHookEnable draft.sync hook.
If the hook is not enabled, the invoice will be progressed to the next state automatically.
enableIssuingSyncHookEnable issuing.sync hook.
If the hook is not enabled, the invoice will be progressed to the next state automatically.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
deletedAtTimestamp of when the resource was permanently deleted.
CustomInvoicingAppReplaceUpdate
nameHuman-readable name for the resource. Between 1 and 256 characters.
typeThe app's type is CustomInvoicing.
enableDraftSyncHookEnable draft.sync hook.
If the hook is not enabled, the invoice will be progressed to the next state automatically.
enableIssuingSyncHookEnable issuing.sync hook.
If the hook is not enabled, the invoice will be progressed to the next state automatically.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
CustomInvoicingCustomerAppData
typeThe app name.
The installed custom invoicing app this data belongs to.
id^[0-7][0-9A-HJKMNP-T…The app ID. If not provided, it will use the global default for the app type.
Metadata to be used by the custom invoicing provider.
CustomInvoicingDraftSynchronizedRequest
The result of the synchronization.
CustomInvoicingFinalizedInvoicingRequest
invoiceNumberIf set the invoice's number will be set to this value.
sentToCustomerAtIf set the invoice's sent to customer at will be set to this value.
CustomInvoicingFinalizedPaymentRequest
externalIdIf set the invoice's payment external ID will be set to this value.
CustomInvoicingFinalizedRequest
The result of the synchronization.
The result of the payment synchronization.
CustomInvoicingLineDiscountExternalIdMapping
lineDiscountId^[0-7][0-9A-HJKMNP-T… · requiredThe line discount ID.
externalIdThe external ID (e.g. custom invoicing system's ID).
CustomInvoicingLineExternalIdMapping
lineId^[0-7][0-9A-HJKMNP-T… · requiredThe line ID.
externalIdThe external ID (e.g. custom invoicing system's ID).
CustomInvoicingPaymentTrigger
Payment trigger to execute on a finalized invoice.
CustomInvoicingSyncResult
invoiceNumberIf set the invoice's number will be set to this value.
externalIdIf set the invoice's invoicing external ID will be set to this value.
If set the invoice's line external IDs will be set to this value.
This can be used to reference the external system's entities in the invoice.
If set the invoice's line discount external IDs will be set to this value.
This can be used to reference the external system's entities in the invoice.
CustomInvoicingTaxConfig
codeTax code.
The tax code should be interpreted by the custom invoicing provider.
CustomInvoicingUpdatePaymentStatusRequest
triggerThe trigger to be executed on the invoice.
CustomPlanInput
nameHuman-readable name for the resource. Between 1 and 256 characters.
currency^[A-Z]{3}$ · requiredThe currency code of the plan.
billingCadenceThe default billing cadence for subscriptions using this plan. Defines how often customers are billed using ISO8601 duration format. Examples: "P1M" (monthly), "P3M" (quarterly), "P1Y" (annually).
The plan phase or pricing ramp allows changing a plan's rate cards over time as a subscription progresses. A phase switch occurs only at the end of a billing period, ensuring that a single subscription invoice will not include charges from different phase prices.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
Default pro-rating configuration for subscriptions using this plan.
Alignment configuration for the plan.
CustomSubscriptionChange
Timing configuration for the change, when the change should take effect. For changing a subscription, the accepted values depend on the subscription configuration.
The custom plan description which defines the Subscription.
billingAnchorThe billing anchor of the subscription. The provided date will be normalized according to the billing cadence to the nearest recurrence before start time. If not provided, the previous subscription billing anchor will be used.
CustomSubscriptionCreate
The custom plan description which defines the Subscription.
Timing configuration for the change, when the change should take effect. The default is immediate.
customerId^[0-7][0-9A-HJKMNP-T…The ID of the customer. Provide either the key or ID. Has presedence over the key.
customerKeyThe key of the customer. Provide either the key or ID.
billingAnchorThe billing anchor of the subscription. The provided date will be normalized according to the billing cadence to the nearest recurrence before start time. If not provided, the subscription start time will be used.
Customer
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the resource.
nameHuman-readable name for the resource. Between 1 and 256 characters.
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
Mapping to attribute metered usage to the customer
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
deletedAtTimestamp of when the resource was permanently deleted.
keyAn optional unique key of the customer. Useful to reference the customer in external systems. For example, your database ID.
primaryEmailThe primary email address of the customer.
currency^[A-Z]{3}$Currency of the customer. Used for billing, tax and invoicing.
The billing address of the customer. Used for tax and invoicing.
currentSubscriptionId^[0-7][0-9A-HJKMNP-T…The ID of the Subscription if the customer has one.
The subscriptions of the customer.
Only with the subscriptions expand option.
Set of key-value pairs managed by the system. Cannot be modified by user.
CustomerAccess
List of subscription-based entitlements grouped by subscription. Each item contains a subscription ID and its associated entitlements.
CustomerAppData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="stripe" · requires: stripeCustomerId | |
| type = object · type="sandbox" | |
| type = object · type="custom_invoicing" |
typeThe app name.
stripeCustomerIdThe Stripe customer ID.
id^[0-7][0-9A-HJKMNP-T…The app ID. If not provided, it will use the global default for the app type.
stripeDefaultPaymentMethodIdThe Stripe default payment method ID.
A installed Stripe app object.
CustomerAppDataCreateOrUpdateItem
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="stripe" · requires: stripeCustomerId | |
| type = object · type="sandbox" | |
| type = object · type="custom_invoicing" |
typeThe app name.
stripeCustomerIdThe Stripe customer ID.
id^[0-7][0-9A-HJKMNP-T…The app ID. If not provided, it will use the global default for the app type.
stripeDefaultPaymentMethodIdThe Stripe default payment method ID.
CustomerAppDataPaginatedResponse
totalCountThe total number of items.
pageThe page index.
pageSizeThe maximum number of items per page.
The items in the current page.
CustomerCreate
nameHuman-readable name for the resource. Between 1 and 256 characters.
Mapping to attribute metered usage to the customer
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
keyAn optional unique key of the customer. Useful to reference the customer in external systems. For example, your database ID.
primaryEmailThe primary email address of the customer.
currency^[A-Z]{3}$Currency of the customer. Used for billing, tax and invoicing.
The billing address of the customer. Used for tax and invoicing.
CustomerExpand
CustomerExpand specifies the parts of the customer to expand in the list output.
CustomerId
id^[0-7][0-9A-HJKMNP-T… · requiredULID (Universally Unique Lexicographically Sortable Identifier).
CustomerPaginatedResponse
totalCountThe total number of items.
pageThe page index.
pageSizeThe maximum number of items per page.
The items in the current page.
CustomerReplaceUpdate
nameHuman-readable name for the resource. Between 1 and 256 characters.
Mapping to attribute metered usage to the customer
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
keyAn optional unique key of the customer. Useful to reference the customer in external systems. For example, your database ID.
primaryEmailThe primary email address of the customer.
currency^[A-Z]{3}$Currency of the customer. Used for billing, tax and invoicing.
The billing address of the customer. Used for tax and invoicing.
CustomerSubscriptionOrderBy
Order by options for customer subscriptions.
CustomerUsageAttribution
subjectKeysThe subjects that are attributed to the customer.
DiscountPercentage
percentageThe percentage of the discount.
DiscountReasonMaximumSpend
typeDiscountReasonRatecardPercentage
typepercentageThe percentage of the discount.
correlationId^[0-7][0-9A-HJKMNP-T…Correlation ID for the discount.
This is used to link discounts across different invoices (progressive billing use case).
If not provided, the invoicing engine will auto-generate one. When editing an invoice line, please make sure to keep the same correlation ID of the discount or in progressive billing setups the discount amounts might be incorrect.
DiscountReasonRatecardUsage
typequantity^\-?[0-9]+(\.[0-9]+)… · requiredThe quantity of the usage discount.
Must be positive.
correlationId^[0-7][0-9A-HJKMNP-T…Correlation ID for the discount.
This is used to link discounts across different invoices (progressive billing use case).
If not provided, the invoicing engine will auto-generate one. When editing an invoice line, please make sure to keep the same correlation ID of the discount or in progressive billing setups the discount amounts might be incorrect.
DiscountReasonType
The type of the discount reason.
DiscountUsage
quantity^\-?[0-9]+(\.[0-9]+)… · requiredThe quantity of the usage discount.
Must be positive.
DynamicPrice
typeThe type of the price.
multiplier^\-?[0-9]+(\.[0-9]+)…The multiplier to apply to the base price to get the dynamic price.
Examples:
- 0.0: the price is zero
- 0.5: the price is 50% of the base price
- 1.0: the price is the same as the base price
- 1.5: the price is 150% of the base price
DynamicPriceWithCommitments
typeThe type of the price.
multiplier^\-?[0-9]+(\.[0-9]+)…The multiplier to apply to the base price to get the dynamic price.
Examples:
- 0.0: the price is zero
- 0.5: the price is 50% of the base price
- 1.0: the price is the same as the base price
- 1.5: the price is 150% of the base price
minimumAmount^\-?[0-9]+(\.[0-9]+)…The customer is committed to spend at least the amount.
maximumAmount^\-?[0-9]+(\.[0-9]+)…The customer is limited to spend at most the amount.
EditOp
Enum listing the different operation types.
EditSubscriptionAddItem
opphaseKeyA rate card defines the pricing and entitlement of a feature or service.
EditSubscriptionAddPhase
opSubscription phase create input.
EditSubscriptionRemoveItem
opphaseKeyitemKeyEditSubscriptionRemovePhase
opphaseKeyshiftThe direction of the phase shift when a phase is removed.
EditSubscriptionStretchPhase
opphaseKeyextendByEditSubscriptionUnscheduleEdit
opEntitlement
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="metered" · requires: createdAt, updatedAt, activeFrom +8 more | |
| type = object · type="static" · requires: config, createdAt, updatedAt +5 more | |
| type = object · type="boolean" · requires: createdAt, updatedAt, activeFrom +4 more |
typecreatedAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
activeFromThe cadence start of the resource.
id^[0-7][0-9A-HJKMNP-T… · requiredReadonly unique ULID identifier.
subjectKey^[a-z0-9]+(?:_[a-z0-… · requiredThe identifier key unique to the subject. NOTE: Subjects are being deprecated, please use the new customer APIs.
featureKey^[a-z0-9]+(?:_[a-z0-… · requiredThe feature the subject is entitled to use.
featureId^[0-7][0-9A-HJKMNP-T… · requiredThe feature the subject is entitled to use.
lastResetThe time the last reset happened.
A period with a start and end time.
measureUsageFromThe time from which usage is measured. If not specified on creation, defaults to entitlement creation time.
isSoftLimitIf softLimit=true the subject can use the feature even if the entitlement is exhausted, hasAccess will always be true.
issueAfterResetYou can grant usage automatically alongside the entitlement, the example scenario would be creating a starting balance. If an amount is specified here, a grant will be created alongside the entitlement with the specified amount. That grant will have it's rollover settings configured in a way that after each reset operation, the balance will return the original amount specified here. Manually creating such a grant would mean having the "amount", "minRolloverAmount", and "maxRolloverAmount" fields all be the same.
issueAfterResetPriorityDefines the grant priority for the default grant.
preserveOverageAtResetIf true, the overage is preserved at reset. If false, the usage is reset to 0.
deletedAtTimestamp of when the resource was permanently deleted.
Set of key-value pairs. Metadata can be used to store additional information about a resource.
activeToThe cadence end of the resource.
Set of key-value pairs managed by the system. Cannot be modified by user.
isUnlimitedDeprecated, ignored by the backend. Please use isSoftLimit instead; this field will be removed in the future.
Recurring period with an interval and an anchor.
EntitlementBaseTemplate
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
activeFromThe cadence start of the resource.
id^[0-7][0-9A-HJKMNP-T… · requiredReadonly unique ULID identifier.
typeThe type of the entitlement.
subjectKey^[a-z0-9]+(?:_[a-z0-… · requiredThe identifier key unique to the subject. NOTE: Subjects are being deprecated, please use the new customer APIs.
featureKey^[a-z0-9]+(?:_[a-z0-… · requiredThe feature the subject is entitled to use.
featureId^[0-7][0-9A-HJKMNP-T… · requiredThe feature the subject is entitled to use.
deletedAtTimestamp of when the resource was permanently deleted.
Additional metadata for the feature.
activeToThe cadence end of the resource.
The annotations of the entitlement.
The current usage period.
The defined usage period of the entitlement
EntitlementBoolean
typecreatedAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
activeFromThe cadence start of the resource.
id^[0-7][0-9A-HJKMNP-T… · requiredReadonly unique ULID identifier.
subjectKey^[a-z0-9]+(?:_[a-z0-… · requiredThe identifier key unique to the subject. NOTE: Subjects are being deprecated, please use the new customer APIs.
featureKey^[a-z0-9]+(?:_[a-z0-… · requiredThe feature the subject is entitled to use.
featureId^[0-7][0-9A-HJKMNP-T… · requiredThe feature the subject is entitled to use.
deletedAtTimestamp of when the resource was permanently deleted.
Additional metadata for the feature.
activeToThe cadence end of the resource.
The annotations of the entitlement.
The current usage period.
The defined usage period of the entitlement
EntitlementBooleanCreateInputs
typefeatureKey^[a-z0-9]+(?:_[a-z0-…The feature the subject is entitled to use. Either featureKey or featureId is required.
featureId^[0-7][0-9A-HJKMNP-T…The feature the subject is entitled to use. Either featureKey or featureId is required.
Additional metadata for the feature.
The usage period associated with the entitlement.
EntitlementBooleanV2
typecreatedAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
activeFromThe cadence start of the resource.
id^[0-7][0-9A-HJKMNP-T… · requiredReadonly unique ULID identifier.
featureKey^[a-z0-9]+(?:_[a-z0-… · requiredThe feature the subject is entitled to use.
featureId^[0-7][0-9A-HJKMNP-T… · requiredThe feature the subject is entitled to use.
customerId^[0-7][0-9A-HJKMNP-T… · requiredThe identifier unique to the customer
deletedAtTimestamp of when the resource was permanently deleted.
Additional metadata for the feature.
activeToThe cadence end of the resource.
The annotations of the entitlement.
The current usage period.
customerKeyThe identifier key unique to the customer
The defined usage period of the entitlement
EntitlementCreateInputs
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="metered" · requires: usagePeriod | |
| type = object · type="static" · requires: config | |
| type = object · type="boolean" |
typeRecurring period with an interval and an anchor.
featureKey^[a-z0-9]+(?:_[a-z0-…The feature the subject is entitled to use. Either featureKey or featureId is required.
featureId^[0-7][0-9A-HJKMNP-T…The feature the subject is entitled to use. Either featureKey or featureId is required.
Set of key-value pairs. Metadata can be used to store additional information about a resource.
isSoftLimitIf softLimit=true the subject can use the feature even if the entitlement is exhausted, hasAccess will always be true.
Measure usage from
issueAfterResetYou can grant usage automatically alongside the entitlement, the example scenario would be creating a starting balance. If an amount is specified here, a grant will be created alongside the entitlement with the specified amount. That grant will have it's rollover settings configured in a way that after each reset operation, the balance will return the original amount specified here. Manually creating such a grant would mean having the "amount", "minRolloverAmount", and "maxRolloverAmount" fields all be the same.
issueAfterResetPriorityDefines the grant priority for the default grant.
preserveOverageAtResetIf true, the overage is preserved at reset. If false, the usage is reset to 0.
isUnlimitedDeprecated, ignored by the backend. Please use isSoftLimit instead; this field will be removed in the future.
EntitlementCreateSharedFields
featureKey^[a-z0-9]+(?:_[a-z0-…The feature the subject is entitled to use. Either featureKey or featureId is required.
featureId^[0-7][0-9A-HJKMNP-T…The feature the subject is entitled to use. Either featureKey or featureId is required.
Additional metadata for the feature.
The usage period associated with the entitlement.
EntitlementCustomerFields
customerId^[0-7][0-9A-HJKMNP-T… · requiredThe identifier unique to the customer
customerKeyThe identifier key unique to the customer
EntitlementGrant
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
amountThe amount to grant. Should be a positive number.
effectiveAtEffective date for grants and anchor for recurring grants. Provided value will be ceiled to metering windowSize (minute).
The grant expiration definition
id^[0-7][0-9A-HJKMNP-T… · requiredReadonly unique ULID identifier.
entitlementIdThe unique entitlement ULID that the grant is associated with.
deletedAtTimestamp of when the resource was permanently deleted.
priorityThe priority of the grant. Grants with higher priority are applied first. Priority is a positive decimal numbers. With lower numbers indicating higher importance. For example, a priority of 1 is more urgent than a priority of 2. When there are several grants available for the same subject, the system selects the grant with the highest priority. In cases where grants share the same priority level, the grant closest to its expiration will be used first. In the case of two grants have identical priorities and expiration dates, the system will use the grant that was created first.
maxRolloverAmountGrants are rolled over at reset, after which they can have a different balance compared to what they had before the reset. Balance after the reset is calculated as: Balance_After_Reset = MIN(MaxRolloverAmount, MAX(Balance_Before_Reset, MinRolloverAmount))
minRolloverAmountGrants are rolled over at reset, after which they can have a different balance compared to what they had before the reset. Balance after the reset is calculated as: Balance_After_Reset = MIN(MaxRolloverAmount, MAX(Balance_Before_Reset, MinRolloverAmount))
The grant metadata.
nextRecurrenceThe next time the grant will recurr.
expiresAtThe time the grant expires.
voidedAtThe time the grant was voided.
Grant annotations
The recurrence period of the grant.
EntitlementGrantCreateInput
amountThe amount to grant. Should be a positive number.
effectiveAtEffective date for grants and anchor for recurring grants. Provided value will be ceiled to metering windowSize (minute).
The grant expiration definition
priorityThe priority of the grant. Grants with higher priority are applied first. Priority is a positive decimal numbers. With lower numbers indicating higher importance. For example, a priority of 1 is more urgent than a priority of 2. When there are several grants available for the same subject, the system selects the grant with the highest priority. In cases where grants share the same priority level, the grant closest to its expiration will be used first. In the case of two grants have identical priorities and expiration dates, the system will use the grant that was created first.
maxRolloverAmountGrants are rolled over at reset, after which they can have a different balance compared to what they had before the reset. Balance after the reset is calculated as: Balance_After_Reset = MIN(MaxRolloverAmount, MAX(Balance_Before_Reset, MinRolloverAmount))
minRolloverAmountGrants are rolled over at reset, after which they can have a different balance compared to what they had before the reset. Balance after the reset is calculated as: Balance_After_Reset = MIN(MaxRolloverAmount, MAX(Balance_Before_Reset, MinRolloverAmount))
The grant metadata.
The subject of the grant.
EntitlementGrantCreateInputV2
amountThe amount to grant. Should be a positive number.
effectiveAtEffective date for grants and anchor for recurring grants. Provided value will be ceiled to metering windowSize (minute).
priorityThe priority of the grant. Grants with higher priority are applied first. Priority is a positive decimal numbers. With lower numbers indicating higher importance. For example, a priority of 1 is more urgent than a priority of 2. When there are several grants available for the same subject, the system selects the grant with the highest priority. In cases where grants share the same priority level, the grant closest to its expiration will be used first. In the case of two grants have identical priorities and expiration dates, the system will use the grant that was created first.
minRolloverAmountGrants are rolled over at reset, after which they can have a different balance compared to what they had before the reset. Balance after the reset is calculated as: Balance_After_Reset = MIN(MaxRolloverAmount, MAX(Balance_Before_Reset, MinRolloverAmount))
The grant metadata.
The subject of the grant.
maxRolloverAmountGrants are rolled over at reset, after which they can have a different balance compared to what they had before the reset. The default value equals grant amount. Balance after the reset is calculated as: Balance_After_Reset = MIN(MaxRolloverAmount, MAX(Balance_Before_Reset, MinRolloverAmount))
The grant expiration definition. If no expiration is provided, the grant can be active indefinitely.
Grant annotations
EntitlementGrantV2
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
amountThe amount to grant. Should be a positive number.
effectiveAtEffective date for grants and anchor for recurring grants. Provided value will be ceiled to metering windowSize (minute).
id^[0-7][0-9A-HJKMNP-T… · requiredReadonly unique ULID identifier.
entitlementIdThe unique entitlement ULID that the grant is associated with.
deletedAtTimestamp of when the resource was permanently deleted.
priorityThe priority of the grant. Grants with higher priority are applied first. Priority is a positive decimal numbers. With lower numbers indicating higher importance. For example, a priority of 1 is more urgent than a priority of 2. When there are several grants available for the same subject, the system selects the grant with the highest priority. In cases where grants share the same priority level, the grant closest to its expiration will be used first. In the case of two grants have identical priorities and expiration dates, the system will use the grant that was created first.
minRolloverAmountGrants are rolled over at reset, after which they can have a different balance compared to what they had before the reset. Balance after the reset is calculated as: Balance_After_Reset = MIN(MaxRolloverAmount, MAX(Balance_Before_Reset, MinRolloverAmount))
The grant metadata.
maxRolloverAmountGrants are rolled over at reset, after which they can have a different balance compared to what they had before the reset. The default value equals grant amount. Balance after the reset is calculated as: Balance_After_Reset = MIN(MaxRolloverAmount, MAX(Balance_Before_Reset, MinRolloverAmount))
The grant expiration definition. If no expiration is provided, the grant can be active indefinitely.
Grant annotations
nextRecurrenceThe next time the grant will recurr.
expiresAtThe time the grant expires.
voidedAtThe time the grant was voided.
The recurrence period of the grant.
EntitlementMetered
typecreatedAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
activeFromThe cadence start of the resource.
id^[0-7][0-9A-HJKMNP-T… · requiredReadonly unique ULID identifier.
subjectKey^[a-z0-9]+(?:_[a-z0-… · requiredThe identifier key unique to the subject. NOTE: Subjects are being deprecated, please use the new customer APIs.
featureKey^[a-z0-9]+(?:_[a-z0-… · requiredThe feature the subject is entitled to use.
featureId^[0-7][0-9A-HJKMNP-T… · requiredThe feature the subject is entitled to use.
lastResetThe time the last reset happened.
The current usage period.
measureUsageFromThe time from which usage is measured. If not specified on creation, defaults to entitlement creation time.
isSoftLimitIf softLimit=true the subject can use the feature even if the entitlement is exhausted, hasAccess will always be true.
issueAfterResetYou can grant usage automatically alongside the entitlement, the example scenario would be creating a starting balance. If an amount is specified here, a grant will be created alongside the entitlement with the specified amount. That grant will have it's rollover settings configured in a way that after each reset operation, the balance will return the original amount specified here. Manually creating such a grant would mean having the "amount", "minRolloverAmount", and "maxRolloverAmount" fields all be the same.
issueAfterResetPriorityDefines the grant priority for the default grant.
preserveOverageAtResetIf true, the overage is preserved at reset. If false, the usage is reset to 0.
deletedAtTimestamp of when the resource was permanently deleted.
Additional metadata for the feature.
activeToThe cadence end of the resource.
The annotations of the entitlement.
isUnlimitedDeprecated, ignored by the backend. Please use isSoftLimit instead; this field will be removed in the future.
THe usage period of the entitlement.
EntitlementMeteredCalculatedFields
lastResetThe time the last reset happened.
The current usage period.
measureUsageFromThe time from which usage is measured. If not specified on creation, defaults to entitlement creation time.
THe usage period of the entitlement.
EntitlementMeteredCreateInputs
typeThe usage period associated with the entitlement.
featureKey^[a-z0-9]+(?:_[a-z0-…The feature the subject is entitled to use. Either featureKey or featureId is required.
featureId^[0-7][0-9A-HJKMNP-T…The feature the subject is entitled to use. Either featureKey or featureId is required.
Additional metadata for the feature.
isSoftLimitIf softLimit=true the subject can use the feature even if the entitlement is exhausted, hasAccess will always be true.
Defines the time from which usage is measured. If not specified on creation, defaults to entitlement creation time.
issueAfterResetYou can grant usage automatically alongside the entitlement, the example scenario would be creating a starting balance. If an amount is specified here, a grant will be created alongside the entitlement with the specified amount. That grant will have it's rollover settings configured in a way that after each reset operation, the balance will return the original amount specified here. Manually creating such a grant would mean having the "amount", "minRolloverAmount", and "maxRolloverAmount" fields all be the same.
issueAfterResetPriorityDefines the grant priority for the default grant.
preserveOverageAtResetIf true, the overage is preserved at reset. If false, the usage is reset to 0.
isUnlimitedDeprecated, ignored by the backend. Please use isSoftLimit instead; this field will be removed in the future.
EntitlementMeteredV2
typecreatedAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
activeFromThe cadence start of the resource.
id^[0-7][0-9A-HJKMNP-T… · requiredReadonly unique ULID identifier.
featureKey^[a-z0-9]+(?:_[a-z0-… · requiredThe feature the subject is entitled to use.
featureId^[0-7][0-9A-HJKMNP-T… · requiredThe feature the subject is entitled to use.
lastResetThe time the last reset happened.
The current usage period.
measureUsageFromThe time from which usage is measured. If not specified on creation, defaults to entitlement creation time.
customerId^[0-7][0-9A-HJKMNP-T… · requiredThe identifier unique to the customer
isSoftLimitIf softLimit=true the subject can use the feature even if the entitlement is exhausted, hasAccess will always be true.
preserveOverageAtResetIf true, the overage is preserved at reset. If false, the usage is reset to 0.
Issue after reset
deletedAtTimestamp of when the resource was permanently deleted.
Additional metadata for the feature.
activeToThe cadence end of the resource.
The annotations of the entitlement.
customerKeyThe identifier key unique to the customer
issueAfterResetYou can grant usage automatically alongside the entitlement, the example scenario would be creating a starting balance. If an amount is specified here, a grant will be created alongside the entitlement with the specified amount. That grant will have it's rollover settings configured in a way that after each reset operation, the balance will return the original amount specified here. Manually creating such a grant would mean having the "amount", "minRolloverAmount", and "maxRolloverAmount" fields all be the same.
issueAfterResetPriorityDefines the grant priority for the default grant.
THe usage period of the entitlement.
EntitlementMeteredV2CreateInputs
typeThe usage period associated with the entitlement.
featureKey^[a-z0-9]+(?:_[a-z0-…The feature the subject is entitled to use. Either featureKey or featureId is required.
featureId^[0-7][0-9A-HJKMNP-T…The feature the subject is entitled to use. Either featureKey or featureId is required.
Additional metadata for the feature.
isSoftLimitIf softLimit=true the subject can use the feature even if the entitlement is exhausted, hasAccess will always be true.
Defines the time from which usage is measured. If not specified on creation, defaults to entitlement creation time.
preserveOverageAtResetIf true, the overage is preserved at reset. If false, the usage is reset to 0.
Issue after reset
Grants
issueAfterResetYou can grant usage automatically alongside the entitlement, the example scenario would be creating a starting balance. If an amount is specified here, a grant will be created alongside the entitlement with the specified amount. That grant will have it's rollover settings configured in a way that after each reset operation, the balance will return the original amount specified here. Manually creating such a grant would mean having the "amount", "minRolloverAmount", and "maxRolloverAmount" fields all be the same.
issueAfterResetPriorityDefines the grant priority for the default grant.
EntitlementPaginatedResponse
totalCountThe total number of items.
pageThe page index.
pageSizeThe maximum number of items per page.
The items in the current page.
EntitlementStatic
typeconfigThe JSON parsable config of the entitlement. This value is also returned when checking entitlement access and it is useful for configuring fine-grained access settings to the feature, implemented in your own system. Has to be an object.
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
activeFromThe cadence start of the resource.
id^[0-7][0-9A-HJKMNP-T… · requiredReadonly unique ULID identifier.
subjectKey^[a-z0-9]+(?:_[a-z0-… · requiredThe identifier key unique to the subject. NOTE: Subjects are being deprecated, please use the new customer APIs.
featureKey^[a-z0-9]+(?:_[a-z0-… · requiredThe feature the subject is entitled to use.
featureId^[0-7][0-9A-HJKMNP-T… · requiredThe feature the subject is entitled to use.
deletedAtTimestamp of when the resource was permanently deleted.
Additional metadata for the feature.
activeToThe cadence end of the resource.
The annotations of the entitlement.
The current usage period.
The defined usage period of the entitlement
EntitlementStaticCreateInputs
typeconfigThe JSON parsable config of the entitlement. This value is also returned when checking entitlement access and it is useful for configuring fine-grained access settings to the feature, implemented in your own system. Has to be an object.
featureKey^[a-z0-9]+(?:_[a-z0-…The feature the subject is entitled to use. Either featureKey or featureId is required.
featureId^[0-7][0-9A-HJKMNP-T…The feature the subject is entitled to use. Either featureKey or featureId is required.
Additional metadata for the feature.
The usage period associated with the entitlement.
EntitlementStaticV2
typeconfigThe JSON parsable config of the entitlement. This value is also returned when checking entitlement access and it is useful for configuring fine-grained access settings to the feature, implemented in your own system. Has to be an object.
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
activeFromThe cadence start of the resource.
id^[0-7][0-9A-HJKMNP-T… · requiredReadonly unique ULID identifier.
featureKey^[a-z0-9]+(?:_[a-z0-… · requiredThe feature the subject is entitled to use.
featureId^[0-7][0-9A-HJKMNP-T… · requiredThe feature the subject is entitled to use.
customerId^[0-7][0-9A-HJKMNP-T… · requiredThe identifier unique to the customer
deletedAtTimestamp of when the resource was permanently deleted.
Additional metadata for the feature.
activeToThe cadence end of the resource.
The annotations of the entitlement.
The current usage period.
customerKeyThe identifier key unique to the customer
The defined usage period of the entitlement
EntitlementV2
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="metered" · requires: createdAt, updatedAt, activeFrom +8 more | |
| type = object · type="static" · requires: config, createdAt, updatedAt +5 more | |
| type = object · type="boolean" · requires: createdAt, updatedAt, activeFrom +4 more |
typecreatedAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
activeFromThe cadence start of the resource.
id^[0-7][0-9A-HJKMNP-T… · requiredReadonly unique ULID identifier.
featureKey^[a-z0-9]+(?:_[a-z0-… · requiredThe feature the subject is entitled to use.
featureId^[0-7][0-9A-HJKMNP-T… · requiredThe feature the subject is entitled to use.
lastResetThe time the last reset happened.
A period with a start and end time.
measureUsageFromThe time from which usage is measured. If not specified on creation, defaults to entitlement creation time.
customerId^[0-7][0-9A-HJKMNP-T… · requiredThe identifier unique to the customer
isSoftLimitIf softLimit=true the subject can use the feature even if the entitlement is exhausted, hasAccess will always be true.
preserveOverageAtResetIf true, the overage is preserved at reset. If false, the usage is reset to 0.
Issue after reset
deletedAtTimestamp of when the resource was permanently deleted.
Set of key-value pairs. Metadata can be used to store additional information about a resource.
activeToThe cadence end of the resource.
Set of key-value pairs managed by the system. Cannot be modified by user.
customerKeyThe identifier key unique to the customer
issueAfterResetYou can grant usage automatically alongside the entitlement, the example scenario would be creating a starting balance. If an amount is specified here, a grant will be created alongside the entitlement with the specified amount. That grant will have it's rollover settings configured in a way that after each reset operation, the balance will return the original amount specified here. Manually creating such a grant would mean having the "amount", "minRolloverAmount", and "maxRolloverAmount" fields all be the same.
issueAfterResetPriorityDefines the grant priority for the default grant.
Recurring period with an interval and an anchor.
EntitlementV2CreateInputs
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="metered" · requires: usagePeriod | |
| type = object · type="static" · requires: config | |
| type = object · type="boolean" |
typeRecurring period with an interval and an anchor.
featureKey^[a-z0-9]+(?:_[a-z0-…The feature the subject is entitled to use. Either featureKey or featureId is required.
featureId^[0-7][0-9A-HJKMNP-T…The feature the subject is entitled to use. Either featureKey or featureId is required.
Set of key-value pairs. Metadata can be used to store additional information about a resource.
isSoftLimitIf softLimit=true the subject can use the feature even if the entitlement is exhausted, hasAccess will always be true.
Measure usage from
preserveOverageAtResetIf true, the overage is preserved at reset. If false, the usage is reset to 0.
Issue after reset
Grants
issueAfterResetYou can grant usage automatically alongside the entitlement, the example scenario would be creating a starting balance. If an amount is specified here, a grant will be created alongside the entitlement with the specified amount. That grant will have it's rollover settings configured in a way that after each reset operation, the balance will return the original amount specified here. Manually creating such a grant would mean having the "amount", "minRolloverAmount", and "maxRolloverAmount" fields all be the same.
issueAfterResetPriorityDefines the grant priority for the default grant.
EntitlementV2PaginatedResponse
totalCountThe total number of items.
pageThe page index.
pageSizeThe maximum number of items per page.
The items in the current page.
EntitlementValue
hasAccessWhether the subject has access to the feature. Shared accross all entitlement types.
balanceOnly available for metered entitlements. Metered entitlements are built around a balance calculation where feature usage is deducted from the issued grants. Balance represents the remaining balance of the entitlement, it's value never turns negative.
usageOnly available for metered entitlements. Returns the total feature usage in the current period.
overageOnly available for metered entitlements. Overage represents the usage that wasn't covered by grants, e.g. if the subject had a total feature usage of 100 in the period but they were only granted 80, there would be 20 overage.
configOnly available for static entitlements. The JSON parsable config of the entitlement.
ErrorExtension
fieldThe path to the field.
codeThe machine readable description of the error.
messageThe human readable description of the error.
Event
idIdentifies the event.
sourceIdentifies the context in which an event happened.
specversionThe version of the CloudEvents specification which the event uses.
typeContains a value describing the type of event related to the originating occurrence.
subjectDescribes the subject of the event in the context of the event producer (identified by source).
subscriptionThe subscription ID this event belongs to. Required extension field for event attribution to subscriptions.
datacontenttypeContent type of the CloudEvents data value. Only the value "application/json" is allowed over HTTP.
dataschemaIdentifies the schema that data adheres to.
timeTimestamp of when the occurrence happened. Must adhere to RFC 3339.
The event payload. Optional, if present it must be a JSON object.
EventDeliveryAttemptResponse
bodyThe body of the response.
durationMsThe duration of the response in milliseconds.
statusCodeStatus code of the response if available.
urlURL where the event was sent in case of notification channel with webhook type.
ExpirationPeriod
durationThe unit of time for the expiration period.
countThe number of time units in the expiration period.
Feature
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
key^[a-z0-9]+(?:_[a-z0-… · requiredA key is a unique string that is used to identify a resource.
nameid^[0-7][0-9A-HJKMNP-T… · requiredReadonly unique ULID identifier.
deletedAtTimestamp of when the resource was permanently deleted.
archivedAtTimestamp of when the resource was archived.
Set of key-value pairs. Metadata can be used to store additional information about a resource.
meterSlug^[a-z0-9]+(?:_[a-z0-…A key is a unique string that is used to identify a resource.
Optional advanced meter group by filters. You can use this to filter for values of the meter groupBy fields.
Optional meter group by filters. Useful if the meter scope is broader than what feature tracks. Example scenario would be a meter tracking all token use with groupBy fields for the model, then the feature could filter for model=gpt-4.
FeatureCreateInputs
key^[a-z0-9]+(?:_[a-z0-… · requiredA key is a unique string that is used to identify a resource.
nameSet of key-value pairs. Metadata can be used to store additional information about a resource.
meterSlug^[a-z0-9]+(?:_[a-z0-…A key is a unique string that is used to identify a resource.
Optional advanced meter group by filters. You can use this to filter for values of the meter groupBy fields.
Optional meter group by filters. Useful if the meter scope is broader than what feature tracks. Example scenario would be a meter tracking all token use with groupBy fields for the model, then the feature could filter for model=gpt-4.
FeatureMeta
id^[0-7][0-9A-HJKMNP-T… · requiredUnique identifier of a feature.
keyThe key is an immutable unique identifier of the feature used throughout the API, for example when interacting with a subject's entitlements.
FeatureOrderBy
Order by options for features.
FeaturePaginatedResponse
totalCountThe total number of items.
pageThe page index.
pageSizeThe maximum number of items per page.
The items in the current page.
FilterBoolean
$eqThe field must be equal to the provided value.
FilterFloat
$eqThe field must be equal to the provided value.
$neThe field must not be equal to the provided value.
$gtThe field must be greater than the provided value.
$gteThe field must be greater than or equal to the provided value.
$ltThe field must be less than the provided value.
$lteThe field must be less than or equal to the provided value.
Provide a list of filters to be combined with a logical AND.
Provide a list of filters to be combined with a logical OR.
FilterIDExact
$inThe field must be in the provided list of values.
FilterInteger
$eqThe field must be equal to the provided value.
$neThe field must not be equal to the provided value.
$gtThe field must be greater than the provided value.
$gteThe field must be greater than or equal to the provided value.
$ltThe field must be less than the provided value.
$lteThe field must be less than or equal to the provided value.
Provide a list of filters to be combined with a logical AND.
Provide a list of filters to be combined with a logical OR.
FilterString
$eqThe field must be equal to the provided value.
$neThe field must not be equal to the provided value.
$inThe field must be in the provided list of values.
$ninThe field must not be in the provided list of values.
$likeThe field must match the provided value.
$nlikeThe field must not match the provided value.
$ilikeThe field must match the provided value, ignoring case.
$nilikeThe field must not match the provided value, ignoring case.
$gtThe field must be greater than the provided value.
$gteThe field must be greater than or equal to the provided value.
$ltThe field must be less than the provided value.
$lteThe field must be less than or equal to the provided value.
Provide a list of filters to be combined with a logical AND.
Provide a list of filters to be combined with a logical OR.
FilterTime
$gtThe field must be greater than the provided value.
$gteThe field must be greater than or equal to the provided value.
$ltThe field must be less than the provided value.
$lteThe field must be less than or equal to the provided value.
Provide a list of filters to be combined with a logical AND.
Provide a list of filters to be combined with a logical OR.
FlatPrice
typeThe type of the price.
amount^\-?[0-9]+(\.[0-9]+)… · requiredThe amount of the flat price.
FlatPriceWithPaymentTerm
typeThe type of the price.
amount^\-?[0-9]+(\.[0-9]+)… · requiredThe amount of the flat price.
paymentTermThe payment term of the flat price. Defaults to in advance.
ForbiddenProblemResponse
typeType contains a URI that identifies the problem type.
titleA a short, human-readable summary of the problem type.
detailA human-readable explanation specific to this occurrence of the problem.
instanceA URI reference that identifies the specific occurrence of the problem.
statusThe HTTP status code generated by the origin server for this occurrence of the problem.
Additional properties specific to the problem type may be present.
GatewayTimeoutProblemResponse
typeType contains a URI that identifies the problem type.
titleA a short, human-readable summary of the problem type.
detailA human-readable explanation specific to this occurrence of the problem.
instanceA URI reference that identifies the specific occurrence of the problem.
statusThe HTTP status code generated by the origin server for this occurrence of the problem.
Additional properties specific to the problem type may be present.
GrantBurnDownHistorySegment
The period of the segment.
usageThe total usage of the grant in the period.
overageOveruse that wasn't covered by grants.
balanceAtStartentitlement balance at the start of the period.
The balance breakdown of each active grant at the start of the period: GrantID: Balance
balanceAtEndThe entitlement balance at the end of the period.
The balance breakdown of each active grant at the end of the period: GrantID: Balance
Which grants were actually burnt down in the period and by what amount.
GrantPaginatedResponse
totalCountThe total number of items.
pageThe page index.
pageSizeThe maximum number of items per page.
The items in the current page.
GrantUsageRecord
grantId^[0-7][0-9A-HJKMNP-T… · requiredThe id of the grant
usageThe usage in the period
GrantV2PaginatedResponse
totalCountThe total number of items.
pageThe page index.
pageSizeThe maximum number of items per page.
The items in the current page.
IDResource
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the resource.
IngestEventsBody
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: id, source, specversion +3 more | |
| type = array |
idIdentifies the event.
sourceIdentifies the context in which an event happened.
specversionThe version of the CloudEvents specification which the event uses.
typeContains a value describing the type of event related to the originating occurrence.
subjectDescribes the subject of the event in the context of the event producer (identified by source).
subscriptionThe subscription ID this event belongs to. Required extension field for event attribution to subscriptions.
datacontenttypeContent type of the CloudEvents data value. Only the value "application/json" is allowed over HTTP.
dataschemaIdentifies the schema that data adheres to.
timeTimestamp of when the occurrence happened. Must adhere to RFC 3339.
The event payload. Optional, if present it must be a JSON object.
IngestedEvent
The original event ingested.
ingestedAtThe date and time the event was ingested.
storedAtThe date and time the event was stored.
customerId^[0-7][0-9A-HJKMNP-T…The customer ID if the event is associated with a customer.
validationErrorThe validation error if the event failed validation.
IngestedEventCursorPaginatedResponse
The items in the response.
nextCursorThe cursor of the last item in the list.
InstallMethod
Install method of the application.
InternalServerErrorProblemResponse
typeType contains a URI that identifies the problem type.
titleA a short, human-readable summary of the problem type.
detailA human-readable explanation specific to this occurrence of the problem.
instanceA URI reference that identifies the specific occurrence of the problem.
statusThe HTTP status code generated by the origin server for this occurrence of the problem.
Additional properties specific to the problem type may be present.
Invoice
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the resource.
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
typeType of the invoice.
The type of invoice determines the purpose of the invoice and how it should be handled.
Supported types:
- standard: A regular commercial invoice document between a supplier and customer.
- credit_note: Reflects a refund either partial or complete of the preceding document. A credit note effectively extends the previous document.
The taxable entity supplying the goods or services.
Legal entity receiving the goods or services.
numberNumber specifies the human readable key used to reference this Invoice.
The invoice number can change in the draft phases, as we are allocating temporary draft invoice numbers, but it's final as soon as the invoice gets finalized (issued state).
Please note that the number is (depending on the upstream settings) either unique for the whole organization or unique for the customer, or in multi (stripe) account setups unique for the account.
currency^[A-Z]{3}$ · requiredCurrency for all invoice line items.
Multi currency invoices are not supported yet.
Summary of all the invoice totals, including taxes (calculated).
statusThe status of the invoice.
This field only conatins a simplified status, for more detailed information use the statusDetails field.
The details of the current invoice status.
The workflow associated with the invoice.
It is always a snapshot of the workflow settings at the time of invoice creation. The field is optional as it should be explicitly requested with expand options.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
deletedAtTimestamp of when the resource was permanently deleted.
Key information regarding previous invoices and potentially details as to why they were corrected.
issuedAtThe time the invoice was issued.
Depending on the status of the invoice this can mean multiple things:
- draft, gathering: The time the invoice will be issued based on the workflow settings.
- issued: The time the invoice was issued.
draftUntilThe time until the invoice is in draft status.
On draft invoice creation it is calculated from the workflow settings.
If manual approval is required, the draftUntil time is set.
quantitySnapshotedAtThe time when the quantity snapshots on the invoice lines were taken.
collectionAtThe time when the invoice will be/has been collected.
dueAtDue time of the fulfillment of the invoice (if available).
The period the invoice covers. If the invoice has no line items, it's not set.
voidedAtThe time the invoice was voided.
If the invoice was voided, this field will be set to the time the invoice was voided.
sentToCustomerAtThe time the invoice was sent to customer.
List of invoice lines representing each of the items sold to the customer.
Information on when, how, and to whom the invoice should be paid.
Validation issues reported by the invoice workflow.
External IDs of the invoice in other apps such as Stripe.
InvoiceAppExternalIds
invoicingThe external ID of the invoice in the invoicing app if available.
taxThe external ID of the invoice in the tax app if available.
paymentThe external ID of the invoice in the payment app if available.
InvoiceAvailableActionDetails
resultingStateThe state the invoice will reach if the action is activated and all intermediate steps are successful.
For example advancing a draft_created invoice will result in a draft_manual_approval_needed invoice.
InvoiceAvailableActionInvoiceDetails
InvoiceAvailableActions
Advance the invoice to the next status.
Approve an invoice that requires manual approval.
Delete the invoice (only non-issued invoices can be deleted).
Retry an invoice issuing step that failed.
Snapshot quantities for usage based line items.
Void an already issued invoice.
invoiceInvoice a gathering invoice
InvoiceDetailedLine
nameHuman-readable name for the resource. Between 1 and 256 characters.
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
id^[0-7][0-9A-HJKMNP-T… · requiredID of the line.
managedBymanagedBy specifies if the line is manually added via the api or managed by OpenMeter.
statusStatus of the line.
External calls always create valid lines, other line types are managed by the billing engine of OpenMeter.
currency^[A-Z]{3}$ · requiredThe currency of this line.
Totals for this line.
Period of the line item applies to for revenue recognition pruposes.
Billing always treats periods as start being inclusive and end being exclusive.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
deletedAtTimestamp of when the resource was permanently deleted.
Discounts detailes applied to this line.
New discounts can be added via the invoice's discounts API, to facilitate discounts that are affecting multiple lines.
The invoice this item belongs to.
Taxes applied to the invoice totals.
External IDs of the invoice in other apps such as Stripe.
Subscription are the references to the subscritpions that this line is related to.
The rate card that is used for this line.
categoryCategory of the flat fee.
Tax config specify the tax configuration for this line.
invoiceAtThe time this line item should be invoiced.
typeType of the line.
perUnitAmount^\-?[0-9]+(\.[0-9]+)… · requiredPrice of the item being sold.
paymentTermPayment term of the line.
quantity^\-?[0-9]+(\.[0-9]+)… · requiredQuantity of the item being sold.
InvoiceDetailedLineCostCategory
InvoiceDetailedLineCostCategory determines if the flat fee is a regular fee due to use due to a commitment.
InvoiceDetailedLineRateCard
priceThe price of the rate card. When null, the feature or service is free.
The tax config of the rate card. When undefined, the tax config of the feature or the default tax config of the plan is used.
quantity^\-?[0-9]+(\.[0-9]+)…Quantity of the item being sold.
Default: 1
The discounts that are applied to the line.
InvoiceDiscountBase
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
id^[0-7][0-9A-HJKMNP-T… · requiredID of the charge or discount.
Reason code.
deletedAtTimestamp of when the resource was permanently deleted.
descriptionText description as to why the discount was applied.
External IDs of the invoice in other apps such as Stripe.
InvoiceDocumentRef
typeType of the invoice.
urlLink to the source document.
issuedAtIssueAt reflects the time the document was issued.
number(Serial) Number of the referenced document.
InvoiceDocumentRefType
InvoiceDocumentRefType defines the type of document that is being referenced.
InvoiceExpand
InvoiceExpand specifies the parts of the invoice to expand in the list output.
InvoiceGenericDocumentRef
typeType of the document referenced.
reasonHuman readable description on why this reference is here or needs to be used.
descriptionAdditional details about the document.
InvoiceLine
nameHuman-readable name for the resource. Between 1 and 256 characters.
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
id^[0-7][0-9A-HJKMNP-T… · requiredID of the line.
managedBymanagedBy specifies if the line is manually added via the api or managed by OpenMeter.
statusStatus of the line.
External calls always create valid lines, other line types are managed by the billing engine of OpenMeter.
currency^[A-Z]{3}$ · requiredThe currency of this line.
Totals for this line.
Period of the line item applies to for revenue recognition pruposes.
Billing always treats periods as start being inclusive and end being exclusive.
invoiceAtThe time this line item should be invoiced.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
deletedAtTimestamp of when the resource was permanently deleted.
Discounts detailes applied to this line.
New discounts can be added via the invoice's discounts API, to facilitate discounts that are affecting multiple lines.
The invoice this item belongs to.
Taxes applied to the invoice totals.
External IDs of the invoice in other apps such as Stripe.
Subscription are the references to the subscritpions that this line is related to.
The lines detailing the item or service sold.
The rate card that is used for this line.
The rate card captures the intent of the price and discounts for the usage-based item.
quantity^\-?[0-9]+(\.[0-9]+)…The quantity of the item being sold.
Any usage discounts applied previously are deducted from this quantity.
meteredQuantity^\-?[0-9]+(\.[0-9]+)…The quantity of the item that has been metered for the period before any discounts were applied.
preLinePeriodQuantity^\-?[0-9]+(\.[0-9]+)…The quantity of the item used before this line's period.
It is non-zero in case of progressive billing, when this shows how much of the usage was already billed.
Any usage discounts applied previously are deducted from this quantity.
meteredPreLinePeriodQuantity^\-?[0-9]+(\.[0-9]+)…The metered quantity of the item used in before this line's period without any discounts applied.
It is non-zero in case of progressive billing, when this shows how much of the usage was already billed.
Tax config specify the tax configuration for this line.
typeType of the line.
Price of the usage-based item being sold.
featureKey^[a-z0-9]+(?:_[a-z0-… · requiredThe feature that the usage is based on.
InvoiceLineAmountDiscount
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
id^[0-7][0-9A-HJKMNP-T… · requiredID of the charge or discount.
Reason code.
amount^\-?[0-9]+(\.[0-9]+)… · requiredFixed discount amount to apply (calculated if percent present).
deletedAtTimestamp of when the resource was permanently deleted.
descriptionText description as to why the discount was applied.
External IDs of the invoice in other apps such as Stripe.
InvoiceLineAppExternalIds
invoicingThe external ID of the invoice in the invoicing app if available.
taxThe external ID of the invoice in the tax app if available.
InvoiceLineBase
nameHuman-readable name for the resource. Between 1 and 256 characters.
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
id^[0-7][0-9A-HJKMNP-T… · requiredID of the line.
managedBymanagedBy specifies if the line is manually added via the api or managed by OpenMeter.
statusStatus of the line.
External calls always create valid lines, other line types are managed by the billing engine of OpenMeter.
currency^[A-Z]{3}$ · requiredThe currency of this line.
Totals for this line.
Period of the line item applies to for revenue recognition pruposes.
Billing always treats periods as start being inclusive and end being exclusive.
invoiceAtThe time this line item should be invoiced.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
deletedAtTimestamp of when the resource was permanently deleted.
Discounts detailes applied to this line.
New discounts can be added via the invoice's discounts API, to facilitate discounts that are affecting multiple lines.
The invoice this item belongs to.
Taxes applied to the invoice totals.
External IDs of the invoice in other apps such as Stripe.
Subscription are the references to the subscritpions that this line is related to.
typeType of the line.
A line's type cannot be changed after creation.
Tax config specify the tax configuration for this line.
InvoiceLineDiscounts
Amount based discounts applied to the line.
Amount based discounts are deduced from the total price of the line.
Usage based discounts applied to the line.
Usage based discounts are deduced from the usage of the line before price calculations are applied.
InvoiceLineManagedBy
InvoiceLineManagedBy specifies who manages the line.
InvoiceLineReplaceUpdate
nameHuman-readable name for the resource. Between 1 and 256 characters.
Period of the line item applies to for revenue recognition pruposes.
Billing always treats periods as start being inclusive and end being exclusive.
invoiceAtThe time this line item should be invoiced.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
The rate card that is used for this line.
The rate card captures the intent of the price and discounts for the usage-based item.
id^[0-7][0-9A-HJKMNP-T…The ID of the line.
Tax config specify the tax configuration for this line.
Price of the usage-based item being sold.
featureKey^[a-z0-9]+(?:_[a-z0-… · requiredThe feature that the usage is based on.
InvoiceLineStatus
Line status specifies the status of the line.
InvoiceLineSubscriptionReference
The subscription.
The phase of the subscription.
The item this line is related to.
The billing period of the subscription. In case the subscription item's billing period is different from the subscription's billing period, this field will contain the billing period of the subscription itself.
For example, in case of:
- A monthly billed subscription anchored to 2025-01-01
- A subscription item billed daily
An example line would have the period of 2025-01-02 to 2025-01-03 as the item is billed daily, but the subscription's billing period will be 2025-01-01 to 2025-01-31.
InvoiceLineTaxBehavior
InvoiceLineTaxBehavior details how the tax item is applied to the base amount.
Inclusive means the tax is included in the base amount. Exclusive means the tax is added to the base amount.
InvoiceLineTaxItem
Tax provider configuration.
percentPercent defines the percentage set manually or determined from the rate key (calculated if rate present). A nil percent implies that this tax combo is exempt from tax.")
surcharge^\-?[0-9]+(\.[0-9]+)…Some countries require an additional surcharge (calculated if rate present).
behaviorIs the tax item inclusive or exclusive of the base amount.
InvoiceLineTypes
LineTypes represents the different types of lines that can be used in an invoice.
InvoiceLineUsageDiscount
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
id^[0-7][0-9A-HJKMNP-T… · requiredID of the charge or discount.
Reason code.
quantity^\-?[0-9]+(\.[0-9]+)… · requiredThe usage to apply.
deletedAtTimestamp of when the resource was permanently deleted.
descriptionText description as to why the discount was applied.
External IDs of the invoice in other apps such as Stripe.
preLinePeriodQuantity^\-?[0-9]+(\.[0-9]+)…The usage discount already applied to the previous split lines.
Only set if progressive billing is enabled and the line is a split line.
InvoiceNumber
InvoiceNumber is a unique identifier for the invoice, generated by the invoicing app.
The uniqueness depends on a lot of factors:
- app setting (unique per app or unique per customer)
- multiple app scenarios (multiple apps generating invoices with the same prefix)
InvoiceOrderBy
InvoiceOrderBy specifies the ordering options for invoice listing.
InvoicePaginatedResponse
totalCountThe total number of items.
pageThe page index.
pageSizeThe maximum number of items per page.
The items in the current page.
InvoicePaymentTerms
The terms of payment for the invoice.
InvoicePendingLineCreate
nameHuman-readable name for the resource. Between 1 and 256 characters.
Period of the line item applies to for revenue recognition pruposes.
Billing always treats periods as start being inclusive and end being exclusive.
invoiceAtThe time this line item should be invoiced.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
The rate card that is used for this line.
The rate card captures the intent of the price and discounts for the usage-based item.
Tax config specify the tax configuration for this line.
Price of the usage-based item being sold.
featureKey^[a-z0-9]+(?:_[a-z0-… · requiredThe feature that the usage is based on.
InvoicePendingLineCreateInput
currency^[A-Z]{3}$ · requiredThe currency of the lines to be created.
The lines to be created.
InvoicePendingLineCreateResponse
The lines that were created.
The invoice containing the created lines.
isInvoiceNewWhether the invoice was newly created.
InvoicePendingLinesActionFiltersInput
lineIdsThe pending line items to include in the invoice, if not provided:
- all line items that have invoice_at < asOf will be included
- [progressive billing only] all usage based line items will be included up to asOf, new usage-based line items will be staged for the rest of the billing cycle
All lineIDs present in the list, must exists and must be invoicable as of asOf, or the action will fail.
InvoicePendingLinesActionInput
customerId^[0-7][0-9A-HJKMNP-T… · requiredThe customer ID for which to create the invoice.
Filters to apply when creating the invoice.
asOfThe time as of which the invoice is created.
If not provided, the current time is used.
progressiveBillingOverrideOverride the progressive billing setting of the customer.
Can be used to disable/enable progressive billing in case the business logic requires it, if not provided the billing profile's progressive billing setting will be used.
InvoiceReference
id^[0-7][0-9A-HJKMNP-T… · requiredThe ID of the invoice.
numberThe number of the invoice.
InvoiceReplaceUpdate
The supplier of the lines included in the invoice.
The customer the invoice is sent to.
The lines included in the invoice.
The workflow settings for the invoice.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
InvoiceSimulationInput
currency^[A-Z]{3}$ · requiredCurrency for all invoice line items.
Multi currency invoices are not supported yet.
Lines to be included in the generated invoice.
numberThe number of the invoice.
InvoiceSimulationLine
nameHuman-readable name for the resource. Between 1 and 256 characters.
Period of the line item applies to for revenue recognition pruposes.
Billing always treats periods as start being inclusive and end being exclusive.
invoiceAtThe time this line item should be invoiced.
quantity^\-?[0-9]+(\.[0-9]+)… · requiredThe quantity of the item being sold.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
The rate card that is used for this line.
The rate card captures the intent of the price and discounts for the usage-based item.
preLinePeriodQuantity^\-?[0-9]+(\.[0-9]+)…The quantity of the item used before this line's period, if the line is billed progressively.
id^[0-7][0-9A-HJKMNP-T…ID of the line. If not specified it will be auto-generated.
When discounts are specified, this must be provided, so that the discount can reference it.
Tax config specify the tax configuration for this line.
Price of the usage-based item being sold.
featureKey^[a-z0-9]+(?:_[a-z0-… · requiredThe feature that the usage is based on.
InvoiceStatus
InvoiceStatus describes the status of an invoice.
InvoiceStatusDetails
immutableIs the invoice editable?
failedIs the invoice in a failed state?
extendedStatusExtended status information for the invoice.
The actions that can be performed on the invoice.
InvoiceTotals
amount^\-?[0-9]+(\.[0-9]+)… · requiredThe total value of the line before taxes, discounts and commitments.
chargesTotal^\-?[0-9]+(\.[0-9]+)… · requiredThe amount of value of the line that are due to additional charges.
discountsTotal^\-?[0-9]+(\.[0-9]+)… · requiredThe amount of value of the line that are due to discounts.
taxesInclusiveTotal^\-?[0-9]+(\.[0-9]+)… · requiredThe total amount of taxes that are included in the line.
taxesExclusiveTotal^\-?[0-9]+(\.[0-9]+)… · requiredThe total amount of taxes that are added on top of amount from the line.
taxesTotal^\-?[0-9]+(\.[0-9]+)… · requiredThe total amount of taxes for this line.
total^\-?[0-9]+(\.[0-9]+)… · requiredThe total amount value of the line after taxes, discounts and commitments.
InvoiceType
InvoiceType represents the type of invoice.
The type of invoice determines the purpose of the invoice and how it should be handled.
InvoiceUsageBasedRateCard
The price of the rate card. When null, the feature or service is free.
featureKey^[a-z0-9]+(?:_[a-z0-…The feature the customer is entitled to use.
The tax config of the rate card. When undefined, the tax config of the feature or the default tax config of the plan is used.
The discounts that are applied to the line.
InvoiceWorkflowInvoicingSettingsReplaceUpdate
autoAdvanceWhether to automatically issue the invoice after the draftPeriod has passed.
draftPeriodThe period for the invoice to be kept in draft status for manual reviews.
dueAfterThe period after which the invoice is due. With some payment solutions it's only applicable for manual collection method.
Default tax configuration to apply to the invoices.
InvoiceWorkflowReplaceUpdate
The workflow used for this invoice.
InvoiceWorkflowSettings
sourceBillingProfileId^[0-7][0-9A-HJKMNP-T… · requiredsourceBillingProfileID is the billing profile on which the workflow was based on.
The profile is snapshotted on invoice creation, after which it can be altered independently of the profile itself.
The workflow details used by this invoice.
The apps that will be used to orchestrate the invoice's workflow.
InvoiceWorkflowSettingsReplaceUpdate
The invoicing settings for this workflow
The payment settings for this workflow
IssueAfterReset
amountThe initial grant amount
priorityThe priority of the issue after reset
ListAppsRequest
pagePage index.
Default is 1.
pageSizeThe maximum number of items per page.
Default is 100.
ListEntitlementsResult
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = array | |
| type = object · requires: totalCount, page, pageSize +1 more |
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="metered" · requires: createdAt, updatedAt, activeFrom +8 more | |
| type = object · type="static" · requires: config, createdAt, updatedAt +5 more | |
| type = object · type="boolean" · requires: createdAt, updatedAt, activeFrom +4 more |
typecreatedAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
activeFromThe cadence start of the resource.
id^[0-7][0-9A-HJKMNP-T… · requiredReadonly unique ULID identifier.
subjectKey^[a-z0-9]+(?:_[a-z0-… · requiredThe identifier key unique to the subject. NOTE: Subjects are being deprecated, please use the new customer APIs.
featureKey^[a-z0-9]+(?:_[a-z0-… · requiredThe feature the subject is entitled to use.
featureId^[0-7][0-9A-HJKMNP-T… · requiredThe feature the subject is entitled to use.
lastResetThe time the last reset happened.
A period with a start and end time.
measureUsageFromThe time from which usage is measured. If not specified on creation, defaults to entitlement creation time.
isSoftLimitIf softLimit=true the subject can use the feature even if the entitlement is exhausted, hasAccess will always be true.
issueAfterResetYou can grant usage automatically alongside the entitlement, the example scenario would be creating a starting balance. If an amount is specified here, a grant will be created alongside the entitlement with the specified amount. That grant will have it's rollover settings configured in a way that after each reset operation, the balance will return the original amount specified here. Manually creating such a grant would mean having the "amount", "minRolloverAmount", and "maxRolloverAmount" fields all be the same.
issueAfterResetPriorityDefines the grant priority for the default grant.
preserveOverageAtResetIf true, the overage is preserved at reset. If false, the usage is reset to 0.
deletedAtTimestamp of when the resource was permanently deleted.
Set of key-value pairs. Metadata can be used to store additional information about a resource.
activeToThe cadence end of the resource.
Set of key-value pairs managed by the system. Cannot be modified by user.
isUnlimitedDeprecated, ignored by the backend. Please use isSoftLimit instead; this field will be removed in the future.
Recurring period with an interval and an anchor.
ListFeaturesResult
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = array | |
| type = object · requires: totalCount, page, pageSize +1 more |
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
key^[a-z0-9]+(?:_[a-z0-… · requiredA key is a unique string that is used to identify a resource.
nameid^[0-7][0-9A-HJKMNP-T… · requiredReadonly unique ULID identifier.
deletedAtTimestamp of when the resource was permanently deleted.
archivedAtTimestamp of when the resource was archived.
Set of key-value pairs. Metadata can be used to store additional information about a resource.
meterSlug^[a-z0-9]+(?:_[a-z0-…A key is a unique string that is used to identify a resource.
Optional advanced meter group by filters. You can use this to filter for values of the meter groupBy fields.
Optional meter group by filters. Useful if the meter scope is broader than what feature tracks. Example scenario would be a meter tracking all token use with groupBy fields for the model, then the feature could filter for model=gpt-4.
MarketplaceInstallRequestPayload
nameName of the application to install.
If name is not provided defaults to the marketplace listing's name.
createBillingProfileIf true, a billing profile will be created for the app. The Stripe app will be also set as the default billing profile if the current default is a Sandbox app.
MarketplaceInstallResponse
App. One of: stripe
defaultForCapabilityTypesDefault for capabilities
MarketplaceListing
typeThe app's type
nameThe app's name.
descriptionThe app's description.
The app's capabilities.
installMethodsInstall methods.
List of methods to install the app.
MarketplaceListingPaginatedResponse
totalCountThe total number of items.
pageThe page index.
pageSizeThe maximum number of items per page.
The items in the current page.
MeasureUsageFrom
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = string | |
| type = string |
Start of measurement options
MeasureUsageFromPreset
Start of measurement options
Metadata
Meter
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the resource.
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
slug^[a-z0-9]+(?:_[a-z0-… · requiredA unique, human-readable identifier for the meter. Must consist only alphanumeric and underscore characters.
aggregationThe aggregation type to use for the meter.
eventTypeThe event type to aggregate.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
deletedAtTimestamp of when the resource was permanently deleted.
nameHuman-readable name for the resource. Between 1 and 256 characters. Defaults to the slug if not specified.
eventFromThe date since the meter should include events. Useful to skip old events. If not specified, all historical events are included.
valuePropertyJSONPath expression to extract the value from the ingested event's data property.
The ingested value for SUM, AVG, MIN, and MAX aggregations is a number or a string that can be parsed to a number.
For UNIQUE_COUNT aggregation, the ingested value must be a string. For COUNT aggregation the valueProperty is ignored.
Named JSONPath expressions to extract the group by values from the event data.
Keys must be unique and consist only alphanumeric and underscore characters.
MeterAggregation
The aggregation type to use for the meter.
MeterCreate
slug^[a-z0-9]+(?:_[a-z0-… · requiredA unique, human-readable identifier for the meter. Must consist only alphanumeric and underscore characters.
aggregationThe aggregation type to use for the meter.
eventTypeThe event type to aggregate.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
nameHuman-readable name for the resource. Between 1 and 256 characters. Defaults to the slug if not specified.
eventFromThe date since the meter should include events. Useful to skip old events. If not specified, all historical events are included.
valuePropertyJSONPath expression to extract the value from the ingested event's data property.
The ingested value for SUM, AVG, MIN, and MAX aggregations is a number or a string that can be parsed to a number.
For UNIQUE_COUNT aggregation, the ingested value must be a string. For COUNT aggregation the valueProperty is ignored.
Named JSONPath expressions to extract the group by values from the event data.
Keys must be unique and consist only alphanumeric and underscore characters.
MeterOrderBy
Order by options for meters.
MeterQueryRequest
clientIdClient ID Useful to track progress of a query.
fromStart date-time in RFC 3339 format.
Inclusive.
toEnd date-time in RFC 3339 format.
Inclusive.
windowSizeIf not specified, a single usage aggregate will be returned for the entirety of the specified period for each subject and group.
windowTimeZoneThe value is the name of the time zone as defined in the IANA Time Zone Database (http://www.iana.org/time-zones). If not specified, the UTC timezone will be used.
subjectFiltering by multiple subjects.
filterCustomerIdFiltering by multiple customers.
filterSubscriptionFiltering by multiple subscriptions.
Simple filter for group bys with exact match.
Optional advanced meter group by filters. You can use this to filter for values of the meter groupBy fields.
groupByIf not specified a single aggregate will be returned for each subject and time window.
subject is a reserved group by value.
MeterQueryResult
The usage data. If no data is available, an empty array is returned.
fromThe start of the period the usage is queried from. If not specified, the usage is queried from the beginning of time.
toThe end of the period the usage is queried to. If not specified, the usage is queried up to the current time.
windowSizeThe window size that the usage is aggregated. If not specified, the usage is aggregated over the entire period.
MeterQueryRow
valueThe aggregated value.
windowStartThe start of the window the value is aggregated over.
windowEndThe end of the window the value is aggregated over.
subjectThe subject the value is aggregated over. If not specified, the value is aggregated over all subjects.
The group by values the value is aggregated over.
customerIdThe customer ID the value is aggregated over.
MeterUpdate
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
nameHuman-readable name for the resource. Between 1 and 256 characters. Defaults to the slug if not specified.
Named JSONPath expressions to extract the group by values from the event data.
Keys must be unique and consist only alphanumeric and underscore characters.
NotFoundProblemResponse
typeType contains a URI that identifies the problem type.
titleA a short, human-readable summary of the problem type.
detailA human-readable explanation specific to this occurrence of the problem.
instanceA URI reference that identifies the specific occurrence of the problem.
statusThe HTTP status code generated by the origin server for this occurrence of the problem.
Additional properties specific to the problem type may be present.
NotImplementedProblemResponse
typeType contains a URI that identifies the problem type.
titleA a short, human-readable summary of the problem type.
detailA human-readable explanation specific to this occurrence of the problem.
instanceA URI reference that identifies the specific occurrence of the problem.
statusThe HTTP status code generated by the origin server for this occurrence of the problem.
Additional properties specific to the problem type may be present.
NotificationChannel
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
id^[0-7][0-9A-HJKMNP-T… · requiredIdentifies the notification channel.
typeNotification channel type.
nameUser friendly name of the channel.
urlWebhook URL where the notification is sent.
deletedAtTimestamp of when the resource was permanently deleted.
disabledWhether the channel is disabled or not.
Set of key-value pairs managed by the system. Cannot be modified by user.
Additional metadata for the resource.
Custom HTTP headers sent as part of the webhook request.
signingSecret^(whsec_)?[a-zA-Z0-9…Signing secret used for webhook request validation on the receiving end.
Format: base64 encoded random bytes optionally prefixed with whsec_. Recommended size: 24
NotificationChannelCreateRequest
typeNotification channel type.
nameUser friendly name of the channel.
urlWebhook URL where the notification is sent.
disabledWhether the channel is disabled or not.
Additional metadata for the resource.
Custom HTTP headers sent as part of the webhook request.
signingSecret^(whsec_)?[a-zA-Z0-9…Signing secret used for webhook request validation on the receiving end.
Format: base64 encoded random bytes optionally prefixed with whsec_. Recommended size: 24
NotificationChannelMeta
id^[0-7][0-9A-HJKMNP-T… · requiredIdentifies the notification channel.
typeNotification channel type.
NotificationChannelOrderBy
Order by options for notification channels.
NotificationChannelPaginatedResponse
totalCountThe total number of items.
pageThe page index.
pageSizeThe maximum number of items per page.
The items in the current page.
NotificationChannelWebhook
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
id^[0-7][0-9A-HJKMNP-T… · requiredIdentifies the notification channel.
typeNotification channel type.
nameUser friendly name of the channel.
urlWebhook URL where the notification is sent.
deletedAtTimestamp of when the resource was permanently deleted.
disabledWhether the channel is disabled or not.
Set of key-value pairs managed by the system. Cannot be modified by user.
Additional metadata for the resource.
Custom HTTP headers sent as part of the webhook request.
signingSecret^(whsec_)?[a-zA-Z0-9…Signing secret used for webhook request validation on the receiving end.
Format: base64 encoded random bytes optionally prefixed with whsec_. Recommended size: 24
NotificationChannelWebhookCreateRequest
typeNotification channel type.
nameUser friendly name of the channel.
urlWebhook URL where the notification is sent.
disabledWhether the channel is disabled or not.
Additional metadata for the resource.
Custom HTTP headers sent as part of the webhook request.
signingSecret^(whsec_)?[a-zA-Z0-9…Signing secret used for webhook request validation on the receiving end.
Format: base64 encoded random bytes optionally prefixed with whsec_. Recommended size: 24
NotificationEvent
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier of the notification event.
typeType of the notification event.
createdAtTimestamp when the notification event was created in RFC 3339 format.
The nnotification rule which generated this event.
The delivery status of the notification event.
Timestamp when the notification event was created in RFC 3339 format.
Set of key-value pairs managed by the system. Cannot be modified by user.
NotificationEventBalanceThresholdPayload
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the notification event the payload belongs to.
typeType of the notification event.
timestampTimestamp when the notification event was created in RFC 3339 format.
The data of the payload.
NotificationEventBalanceThresholdPayloadData
Metered entitlements are useful for many different use cases, from setting up usage based access to implementing complex credit systems. Access is determined based on feature usage using a balance calculation (the "usage allowance" provided by the issued grants is "burnt down" by the usage).
Represents a feature that can be enabled or disabled for a plan. Used both for product catalog and entitlements.
A subject is a unique identifier for a usage attribution by its key. Subjects only exist in the concept of metering. Subjects are optional to create and work as an enrichment for the subject key like displayName, metadata, etc. Subjects are useful when you are reporting usage events with your own database ID but want to enrich the subject with a human-readable name or metadata. For most use cases, a subject is equivalent to a customer.
Entitlements are the core of OpenMeter access management. They define access to features for subjects. Entitlements can be metered, boolean, or static.
Threshold value with multiple supported types.
A customer object.
NotificationEventDeliveryAttempt
stateState of teh delivery attempt.
Response returned by the notification event recipient.
timestampTimestamp of the delivery attempt.
NotificationEventDeliveryStatus
stateDelivery state of the notification event to the channel.
reasonThe reason of the last deliverry state update.
updatedAtTimestamp of when the status was last updated in RFC 3339 format.
Notification channel the delivery status associated with.
List of delivery attempts.
Set of key-value pairs managed by the system. Cannot be modified by user.
nextAttemptTimestamp of the next delivery attempt. If null it means there will be no more delivery attempts.
NotificationEventDeliveryStatusState
The delivery state of the notification event to the channel.
NotificationEventEntitlementValuePayloadBase
Metered entitlements are useful for many different use cases, from setting up usage based access to implementing complex credit systems. Access is determined based on feature usage using a balance calculation (the "usage allowance" provided by the issued grants is "burnt down" by the usage).
Represents a feature that can be enabled or disabled for a plan. Used both for product catalog and entitlements.
A subject is a unique identifier for a usage attribution by its key. Subjects only exist in the concept of metering. Subjects are optional to create and work as an enrichment for the subject key like displayName, metadata, etc. Subjects are useful when you are reporting usage events with your own database ID but want to enrich the subject with a human-readable name or metadata. For most use cases, a subject is equivalent to a customer.
Entitlements are the core of OpenMeter access management. They define access to features for subjects. Entitlements can be metered, boolean, or static.
A customer object.
NotificationEventInvoiceCreatedPayload
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the notification event the payload belongs to.
typeType of the notification event.
timestampTimestamp when the notification event was created in RFC 3339 format.
The data of the payload.
NotificationEventInvoiceUpdatedPayload
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the notification event the payload belongs to.
typeType of the notification event.
timestampTimestamp when the notification event was created in RFC 3339 format.
The data of the payload.
NotificationEventOrderBy
Order by options for notification channels.
NotificationEventPaginatedResponse
totalCountThe total number of items.
pageThe page index.
pageSizeThe maximum number of items per page.
The items in the current page.
NotificationEventPayload
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="entitlements.reset" · requires: id, timestamp, data | |
| type = object · type="entitlements.balance.threshold" · requires: id, timestamp, data | |
| type = object · type="invoice.created" · requires: id, timestamp, data | |
| type = object · type="invoice.updated" · requires: id, timestamp, data |
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the notification event the payload belongs to.
typeType of the notification event.
timestampTimestamp when the notification event was created in RFC 3339 format.
Base data for any payload with entitlement entitlement value.
NotificationEventResendRequest
channelsNotification channels to which the event should be re-sent.
NotificationEventResetPayload
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the notification event the payload belongs to.
typeType of the notification event.
timestampTimestamp when the notification event was created in RFC 3339 format.
The data of the payload.
NotificationEventType
Type of the notification event.
NotificationRule
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="entitlements.balance.threshold" · requires: createdAt, updatedAt, id +3 more | |
| type = object · type="entitlements.reset" · requires: createdAt, updatedAt, id +2 more | |
| type = object · type="invoice.created" · requires: createdAt, updatedAt, id +2 more | |
| type = object · type="invoice.updated" · requires: createdAt, updatedAt, id +2 more |
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
id^[0-7][0-9A-HJKMNP-T… · requiredIdentifies the notification rule.
typeNotification rule type.
nameThe user friendly name of the notification rule.
List of notification channels the rule applies to.
List of thresholds the rule suppose to be triggered.
deletedAtTimestamp of when the resource was permanently deleted.
disabledWhether the rule is disabled or not.
Set of key-value pairs managed by the system. Cannot be modified by user.
Set of key-value pairs. Metadata can be used to store additional information about a resource.
Optional field containing list of features the rule applies to.
NotificationRuleBalanceThreshold
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
id^[0-7][0-9A-HJKMNP-T… · requiredIdentifies the notification rule.
typeNotification rule type.
nameThe user friendly name of the notification rule.
List of notification channels the rule applies to.
List of thresholds the rule suppose to be triggered.
deletedAtTimestamp of when the resource was permanently deleted.
disabledWhether the rule is disabled or not.
Set of key-value pairs managed by the system. Cannot be modified by user.
Additional metadata for the resource.
Optional field containing list of features the rule applies to.
NotificationRuleBalanceThresholdCreateRequest
typeNotification rule type.
nameThe user friendly name of the notification rule.
List of thresholds the rule suppose to be triggered.
channelsList of notification channels the rule is applied to.
disabledWhether the rule is disabled or not.
Additional metadata for the resource.
featuresOptional field for defining the scope of notification by feature. It may contain features by id or key.
NotificationRuleBalanceThresholdValue
valueValue of the threshold.
typeType of the threshold.
NotificationRuleBalanceThresholdValueType
Type of the rule in the balance threshold specification:
balance_value: threshold defined by the remaining balance value based on usage and the total of grants in the current usage periodusage_percentage: threshold defined by the usage percentage compared to the total of grants in the current usage periodusage_value: threshold defined by the usage value in the current usage periodNUMBER(deprecated): seeusage_valuePERCENT(deprecated): seeusage_percentage
NotificationRuleCreateRequest
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="entitlements.balance.threshold" · requires: name, thresholds, channels | |
| type = object · type="entitlements.reset" · requires: name, channels | |
| type = object · type="invoice.created" · requires: name, channels | |
| type = object · type="invoice.updated" · requires: name, channels |
typeNotification rule type.
nameThe user friendly name of the notification rule.
List of thresholds the rule suppose to be triggered.
channelsList of notification channels the rule is applied to.
disabledWhether the rule is disabled or not.
Set of key-value pairs. Metadata can be used to store additional information about a resource.
featuresOptional field for defining the scope of notification by feature. It may contain features by id or key.
NotificationRuleEntitlementReset
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
id^[0-7][0-9A-HJKMNP-T… · requiredIdentifies the notification rule.
typeNotification rule type.
nameThe user friendly name of the notification rule.
List of notification channels the rule applies to.
deletedAtTimestamp of when the resource was permanently deleted.
disabledWhether the rule is disabled or not.
Set of key-value pairs managed by the system. Cannot be modified by user.
Additional metadata for the resource.
Optional field containing list of features the rule applies to.
NotificationRuleEntitlementResetCreateRequest
typeNotification rule type.
nameThe user friendly name of the notification rule.
channelsList of notification channels the rule is applied to.
disabledWhether the rule is disabled or not.
Additional metadata for the resource.
featuresOptional field for defining the scope of notification by feature. It may contain features by id or key.
NotificationRuleInvoiceCreated
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
id^[0-7][0-9A-HJKMNP-T… · requiredIdentifies the notification rule.
typeNotification rule type.
nameThe user friendly name of the notification rule.
List of notification channels the rule applies to.
deletedAtTimestamp of when the resource was permanently deleted.
disabledWhether the rule is disabled or not.
Set of key-value pairs managed by the system. Cannot be modified by user.
Additional metadata for the resource.
NotificationRuleInvoiceCreatedCreateRequest
typeNotification rule type.
nameThe user friendly name of the notification rule.
channelsList of notification channels the rule is applied to.
disabledWhether the rule is disabled or not.
Additional metadata for the resource.
NotificationRuleInvoiceUpdated
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
id^[0-7][0-9A-HJKMNP-T… · requiredIdentifies the notification rule.
typeNotification rule type.
nameThe user friendly name of the notification rule.
List of notification channels the rule applies to.
deletedAtTimestamp of when the resource was permanently deleted.
disabledWhether the rule is disabled or not.
Set of key-value pairs managed by the system. Cannot be modified by user.
Additional metadata for the resource.
NotificationRuleInvoiceUpdatedCreateRequest
typeNotification rule type.
nameThe user friendly name of the notification rule.
channelsList of notification channels the rule is applied to.
disabledWhether the rule is disabled or not.
Additional metadata for the resource.
NotificationRuleMeta
id^[0-7][0-9A-HJKMNP-T… · requiredIdentifies the notification rule.
typeNotification rule type.
NotificationRuleOrderBy
Order by options for notification channels.
NotificationRulePaginatedResponse
totalCountThe total number of items.
pageThe page index.
pageSizeThe maximum number of items per page.
The items in the current page.
Numeric
^\-?[0-9]+(\.[0-9]+)…Numeric represents an arbitrary precision number.
OAuth2AuthorizationCodeGrantErrorType
OAuth2 authorization code grant error types.
PackagePrice
typeThe type of the price.
amount^\-?[0-9]+(\.[0-9]+)… · requiredThe price of one package.
quantityPerPackage^\-?[0-9]+(\.[0-9]+)… · requiredThe quantity per package.
PackagePriceWithCommitments
typeThe type of the price.
amount^\-?[0-9]+(\.[0-9]+)… · requiredThe price of one package.
quantityPerPackage^\-?[0-9]+(\.[0-9]+)… · requiredThe quantity per package.
minimumAmount^\-?[0-9]+(\.[0-9]+)…The customer is committed to spend at least the amount.
maximumAmount^\-?[0-9]+(\.[0-9]+)…The customer is limited to spend at most the amount.
PaymentDueDate
dueAtWhen the payment is due.
amount^\-?[0-9]+(\.[0-9]+)… · requiredHow much needs to be paid by the date.
notesOther details to take into account for the due date.
percentPercentage of the total that should be paid by the date.
currency^[A-Z]{3}$If different from the parent document's base currency.
PaymentTermDueDate
typeType of terms to be applied.
When the payment is due.
detailText detail of the chosen payment terms.
notesDescription of the conditions for payment.
PaymentTermInstant
typeType of terms to be applied.
detailText detail of the chosen payment terms.
notesDescription of the conditions for payment.
PaymentTermType
PaymentTermType defines the type of terms to be applied.
PaymentTerms
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: type | |
| type = object · requires: type, dueAt |
typeType of terms to be applied.
detailText detail of the chosen payment terms.
notesDescription of the conditions for payment.
Percentage
Numeric representation of a percentage
50% is represented as 50
Period
fromPeriod start time.
toPeriod end time.
Plan
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the resource.
nameHuman-readable name for the resource. Between 1 and 256 characters.
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
key^[a-z0-9]+(?:_[a-z0-… · requiredA semi-unique identifier for the resource.
versionVersion of the plan. Incremented when the plan is updated.
currency^[A-Z]{3}$ · requiredThe currency code of the plan.
billingCadenceThe default billing cadence for subscriptions using this plan. Defines how often customers are billed using ISO8601 duration format. Examples: "P1M" (monthly), "P3M" (quarterly), "P1Y" (annually).
statusThe status of the plan. Computed based on the effective start and end dates:
- draft = no effectiveFrom
- active = effectiveFrom <= now < effectiveTo
- archived / inactive = effectiveTo <= now
- scheduled = now < effectiveFrom < effectiveTo
The plan phase or pricing ramp allows changing a plan's rate cards over time as a subscription progresses. A phase switch occurs only at the end of a billing period, ensuring that a single subscription invoice will not include charges from different phase prices.
List of validation errors.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
deletedAtTimestamp of when the resource was permanently deleted.
Default pro-rating configuration for subscriptions using this plan.
effectiveFromThe date and time when the plan becomes effective. When not specified, the plan is a draft.
effectiveToThe date and time when the plan is no longer effective. When not specified, the plan is effective indefinitely.
Alignment configuration for the plan.
PlanAddon
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
Add-on object.
fromPlanPhaseThe key of the plan phase from the add-on becomes available for purchase.
List of validation errors.
deletedAtTimestamp of when the resource was permanently deleted.
Set of key-value pairs managed by the system. Cannot be modified by user.
Additional metadata for the resource.
maxQuantityThe maximum number of times the add-on can be purchased for the plan. It is not applicable for add-ons with single instance type.
PlanAddonCreate
fromPlanPhaseThe key of the plan phase from the add-on becomes available for purchase.
addonId^[0-7][0-9A-HJKMNP-T… · requiredThe add-on unique identifier in ULID format.
Additional metadata for the resource.
maxQuantityThe maximum number of times the add-on can be purchased for the plan. It is not applicable for add-ons with single instance type.
PlanAddonOrderBy
Order by options for plan add-on assignments.
PlanAddonPaginatedResponse
totalCountThe total number of items.
pageThe page index.
pageSizeThe maximum number of items per page.
The items in the current page.
PlanAddonReplaceUpdate
fromPlanPhaseThe key of the plan phase from the add-on becomes available for purchase.
Additional metadata for the resource.
maxQuantityThe maximum number of times the add-on can be purchased for the plan. It is not applicable for add-ons with single instance type.
PlanCreate
nameHuman-readable name for the resource. Between 1 and 256 characters.
key^[a-z0-9]+(?:_[a-z0-… · requiredA semi-unique identifier for the resource.
currency^[A-Z]{3}$ · requiredThe currency code of the plan.
billingCadenceThe default billing cadence for subscriptions using this plan. Defines how often customers are billed using ISO8601 duration format. Examples: "P1M" (monthly), "P3M" (quarterly), "P1Y" (annually).
The plan phase or pricing ramp allows changing a plan's rate cards over time as a subscription progresses. A phase switch occurs only at the end of a billing period, ensuring that a single subscription invoice will not include charges from different phase prices.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
Default pro-rating configuration for subscriptions using this plan.
Alignment configuration for the plan.
PlanPaginatedResponse
totalCountThe total number of items.
pageThe page index.
pageSizeThe maximum number of items per page.
The items in the current page.
PlanPhase
key^[a-z0-9]+(?:_[a-z0-… · requiredA semi-unique identifier for the resource.
nameHuman-readable name for the resource. Between 1 and 256 characters.
durationThe duration of the phase.
The rate cards of the plan.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
PlanReference
id^[0-7][0-9A-HJKMNP-T… · requiredThe plan ID.
key^[a-z0-9]+(?:_[a-z0-… · requiredThe plan key.
versionThe plan version.
PlanReferenceInput
key^[a-z0-9]+(?:_[a-z0-… · requiredThe plan key.
versionThe plan version.
PlanReplaceUpdate
nameHuman-readable name for the resource. Between 1 and 256 characters.
billingCadenceThe default billing cadence for subscriptions using this plan. Defines how often customers are billed using ISO8601 duration format. Examples: "P1M" (monthly), "P3M" (quarterly), "P1Y" (annually).
The plan phase or pricing ramp allows changing a plan's rate cards over time as a subscription progresses. A phase switch occurs only at the end of a billing period, ensuring that a single subscription invoice will not include charges from different phase prices.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
Default pro-rating configuration for subscriptions using this plan.
Alignment configuration for the plan.
PlanSubscriptionChange
Timing configuration for the change, when the change should take effect. For changing a subscription, the accepted values depend on the subscription configuration.
The plan reference to change to.
Arbitrary metadata associated with the subscription.
startingPhaseThe key of the phase to start the subscription in. If not provided, the subscription will start in the first phase of the plan.
nameThe name of the Subscription. If not provided the plan name is used.
descriptionDescription for the Subscription.
billingAnchorThe billing anchor of the subscription. The provided date will be normalized according to the billing cadence to the nearest recurrence before start time. If not provided, the previous subscription billing anchor will be used.
What alignment settings the subscription should have.
PlanSubscriptionCreate
The plan reference to change to.
Arbitrary metadata associated with the subscription.
startingPhaseThe key of the phase to start the subscription in. If not provided, the subscription will start in the first phase of the plan.
nameThe name of the Subscription. If not provided the plan name is used.
descriptionDescription for the Subscription.
Timing configuration for the change, when the change should take effect. The default is immediate.
customerId^[0-7][0-9A-HJKMNP-T…The ID of the customer. Provide either the key or ID. Has presedence over the key.
customerKeyThe key of the customer. Provide either the key or ID.
billingAnchorThe billing anchor of the subscription. The provided date will be normalized according to the billing cadence to the nearest recurrence before start time. If not provided, the subscription start time will be used.
What alignment settings the subscription should have.
PortalToken
subjectid^[0-7][0-9A-HJKMNP-T…ULID (Universally Unique Lexicographically Sortable Identifier).
expiresAtRFC3339 formatted date-time string in UTC.
expiredcreatedAtRFC3339 formatted date-time string in UTC.
tokenThe token is only returned at creation.
allowedMeterSlugsOptional, if defined only the specified meters will be allowed.
PreconditionFailedProblemResponse
typeType contains a URI that identifies the problem type.
titleA a short, human-readable summary of the problem type.
detailA human-readable explanation specific to this occurrence of the problem.
instanceA URI reference that identifies the specific occurrence of the problem.
statusThe HTTP status code generated by the origin server for this occurrence of the problem.
Additional properties specific to the problem type may be present.
Price
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="flat" · requires: amount | |
| type = object · type="unit" · requires: amount | |
| type = object · type="tiered" · requires: mode, tiers | |
| type = object · type="dynamic" | |
| type = object · type="package" · requires: amount, quantityPerPackage |
typeThe type of the price.
amount^\-?[0-9]+(\.[0-9]+)… · requiredNumeric represents an arbitrary precision number.
PricePaymentTerm
The payment term of a flat price. One of: in_advance or in_arrears.
PriceTier
flatPriceThe flat price component of the tier.
unitPriceThe unit price component of the tier.
upToAmount^\-?[0-9]+(\.[0-9]+)…Up to and including to this quantity will be contained in the tier. If null, the tier is open-ended.
ProRatingConfig
enabledWhether pro-rating is enabled for this plan.
modeHow to handle pro-rating for billing period changes.
ProRatingMode
Pro-rating mode options for handling billing period changes.
Progress
successSuccess is the number of items that succeeded
failedFailed is the number of items that failed
totalThe total number of items to process
updatedAtThe time the progress was last updated
RateCard
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="flat_fee" · requires: key, name, billingCadence +1 more | |
| type = object · type="usage_based" · requires: key, name, billingCadence +1 more |
typeThe type of the RateCard.
key^[a-z0-9]+(?:_[a-z0-… · requiredA semi-unique identifier for the resource.
nameHuman-readable name for the resource. Between 1 and 256 characters.
billingCadenceThe billing cadence of the rate card. When null it means it is a one time fee.
Flat price with payment term.
descriptionOptional description of the resource. Maximum 1024 characters.
Set of key-value pairs. Metadata can be used to store additional information about a resource.
featureKey^[a-z0-9]+(?:_[a-z0-…The feature the customer is entitled to use.
Entitlement templates are used to define the entitlements of a plan. Features are omitted from the entitlement template, as they are defined in the rate card.
Set of provider specific tax configs.
Discount by type on a price
RateCardBooleanEntitlement
typeAdditional metadata for the feature.
RateCardEntitlement
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="metered" | |
| type = object · type="static" · requires: config | |
| type = object · type="boolean" |
typeSet of key-value pairs. Metadata can be used to store additional information about a resource.
isSoftLimitIf softLimit=true the subject can use the feature even if the entitlement is exhausted, hasAccess will always be true.
issueAfterResetYou can grant usage automatically alongside the entitlement, the example scenario would be creating a starting balance. If an amount is specified here, a grant will be created alongside the entitlement with the specified amount. That grant will have it's rollover settings configured in a way that after each reset operation, the balance will return the original amount specified here. Manually creating such a grant would mean having the "amount", "minRolloverAmount", and "maxRolloverAmount" fields all be the same.
issueAfterResetPriorityDefines the grant priority for the default grant.
preserveOverageAtResetIf true, the overage is preserved at reset. If false, the usage is reset to 0.
usagePeriodThe interval of the metered entitlement. Defaults to the billing cadence of the rate card.
RateCardFlatFee
typeThe type of the RateCard.
key^[a-z0-9]+(?:_[a-z0-… · requiredA semi-unique identifier for the resource.
nameHuman-readable name for the resource. Between 1 and 256 characters.
billingCadenceThe billing cadence of the rate card. When null it means it is a one time fee.
priceThe price of the rate card. When null, the feature or service is free.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
featureKey^[a-z0-9]+(?:_[a-z0-…The feature the customer is entitled to use.
The entitlement of the rate card. Only available when featureKey is set.
The tax config of the rate card. When undefined, the tax config of the feature or the default tax config of the plan is used.
The discount of the rate card. For flat fee rate cards only percentage discounts are supported. Only available when price is set.
RateCardMeteredEntitlement
typeAdditional metadata for the feature.
isSoftLimitIf softLimit=true the subject can use the feature even if the entitlement is exhausted, hasAccess will always be true.
issueAfterResetYou can grant usage automatically alongside the entitlement, the example scenario would be creating a starting balance. If an amount is specified here, a grant will be created alongside the entitlement with the specified amount. That grant will have it's rollover settings configured in a way that after each reset operation, the balance will return the original amount specified here. Manually creating such a grant would mean having the "amount", "minRolloverAmount", and "maxRolloverAmount" fields all be the same.
issueAfterResetPriorityDefines the grant priority for the default grant.
preserveOverageAtResetIf true, the overage is preserved at reset. If false, the usage is reset to 0.
usagePeriodThe interval of the metered entitlement. Defaults to the billing cadence of the rate card.
RateCardStaticEntitlement
typeconfigThe JSON parsable config of the entitlement. This value is also returned when checking entitlement access and it is useful for configuring fine-grained access settings to the feature, implemented in your own system. Has to be an object.
Additional metadata for the feature.
RateCardUsageBased
typeThe type of the RateCard.
key^[a-z0-9]+(?:_[a-z0-… · requiredA semi-unique identifier for the resource.
nameHuman-readable name for the resource. Between 1 and 256 characters.
billingCadenceThe billing cadence of the rate card.
The price of the rate card. When null, the feature or service is free.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
featureKey^[a-z0-9]+(?:_[a-z0-…The feature the customer is entitled to use.
The entitlement of the rate card. Only available when featureKey is set.
The tax config of the rate card. When undefined, the tax config of the feature or the default tax config of the plan is used.
The discounts of the rate card.
Flat fee rate cards only support percentage discounts.
RateCardUsageBasedPrice
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="flat" · requires: amount | |
| type = object · type="unit" · requires: amount | |
| type = object · type="tiered" · requires: mode, tiers | |
| type = object · type="dynamic" | |
| type = object · type="package" · requires: amount, quantityPerPackage |
typeThe type of the price.
amount^\-?[0-9]+(\.[0-9]+)… · requiredNumeric represents an arbitrary precision number.
paymentTermThe payment term of a flat price. One of: in_advance or in_arrears.
RecurringPeriod
The unit of time for the interval. Heuristically maps ISO duraitons to enum values or returns the ISO duration.
anchorA date-time anchor to base the recurring period on.
intervalISOThe unit of time for the interval in ISO8601 format.
RecurringPeriodCreateInput
The unit of time for the interval.
anchorA date-time anchor to base the recurring period on.
RecurringPeriodInterval
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = string | |
| type = string |
^P(?:\d+(?:\.\d+)?Y)…RecurringPeriodIntervalEnum
The unit of time for the interval.
One of: day, week, month, or year.
RecurringPeriodV2
The unit of time for the interval. Heuristically maps ISO duraitons to enum values or returns the ISO duration.
anchorA date-time anchor to base the recurring period on.
RemovePhaseShifting
The direction of the phase shift when a phase is removed.
ResetEntitlementUsageInput
effectiveAtThe time at which the reset takes effect, defaults to now. The reset cannot be in the future. The provided value is truncated to the minute due to how historical meter data is stored.
retainAnchorDetermines whether the usage period anchor is retained or reset to the effectiveAt time.
- If true, the usage period anchor is retained.
- If false, the usage period anchor is reset to the effectiveAt time.
preserveOverageDetermines whether the overage is preserved or forgiven, overriding the entitlement's default behavior.
- If true, the overage is preserved.
- If false, the overage is forgiven.
SandboxApp
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the resource.
nameHuman-readable name for the resource. Between 1 and 256 characters.
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
The marketplace listing that this installed app is based on.
statusStatus of the app connection.
typeThe app's type is Sandbox.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
deletedAtTimestamp of when the resource was permanently deleted.
SandboxAppReplaceUpdate
nameHuman-readable name for the resource. Between 1 and 256 characters.
typeThe app's type is Sandbox.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
SandboxCustomerAppData
typeThe app name.
The installed sandbox app this data belongs to.
id^[0-7][0-9A-HJKMNP-T…The app ID. If not provided, it will use the global default for the app type.
ServiceUnavailableProblemResponse
typeType contains a URI that identifies the problem type.
titleA a short, human-readable summary of the problem type.
detailA human-readable explanation specific to this occurrence of the problem.
instanceA URI reference that identifies the specific occurrence of the problem.
statusThe HTTP status code generated by the origin server for this occurrence of the problem.
Additional properties specific to the problem type may be present.
SpendCommitments
minimumAmount^\-?[0-9]+(\.[0-9]+)…The customer is committed to spend at least the amount.
maximumAmount^\-?[0-9]+(\.[0-9]+)…The customer is limited to spend at most the amount.
StripeAPIKeyInput
secretAPIKeyStripeApp
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the resource.
nameHuman-readable name for the resource. Between 1 and 256 characters.
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
The marketplace listing that this installed app is based on.
statusStatus of the app connection.
typeThe app's type is Stripe.
stripeAccountIdThe Stripe account ID.
livemodeLivemode, true if the app is in production mode.
maskedAPIKeyThe masked API key. Only shows the first 8 and last 3 characters.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
deletedAtTimestamp of when the resource was permanently deleted.
StripeAppReadOrCreateOrUpdateOrDeleteOrQuery
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the resource.
nameHuman-readable name for the resource. Between 1 and 256 characters.
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
The marketplace listing that this installed app is based on.
statusStatus of the app connection.
typeThe app's type is Stripe.
stripeAccountIdThe Stripe account ID.
livemodeLivemode, true if the app is in production mode.
maskedAPIKeyThe masked API key. Only shows the first 8 and last 3 characters.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
deletedAtTimestamp of when the resource was permanently deleted.
secretAPIKeyThe Stripe API key.
StripeAppReplaceUpdate
nameHuman-readable name for the resource. Between 1 and 256 characters.
typeThe app's type is Stripe.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
secretAPIKeyThe Stripe API key.
StripeCustomerAppData
typeThe app name.
stripeCustomerIdThe Stripe customer ID.
id^[0-7][0-9A-HJKMNP-T…The app ID. If not provided, it will use the global default for the app type.
stripeDefaultPaymentMethodIdThe Stripe default payment method ID.
The installed stripe app this data belongs to.
StripeCustomerAppDataBase
stripeCustomerIdThe Stripe customer ID.
stripeDefaultPaymentMethodIdThe Stripe default payment method ID.
StripeCustomerAppDataCreateOrUpdateItem
typeThe app name.
stripeCustomerIdThe Stripe customer ID.
id^[0-7][0-9A-HJKMNP-T…The app ID. If not provided, it will use the global default for the app type.
stripeDefaultPaymentMethodIdThe Stripe default payment method ID.
StripeCustomerPortalSession
idThe ID of the customer portal session.
See: https://docs.stripe.com/api/customer_portal/sessions/object#portal_session_object-id
stripeCustomerIdThe ID of the stripe customer.
configurationIdConfiguration used to customize the customer portal.
See: https://docs.stripe.com/api/customer_portal/sessions/object#portal_session_object-configuration
livemodecreatedAtCreated at.
See: https://docs.stripe.com/api/customer_portal/sessions/object#portal_session_object-created
returnUrllocaleStatus. /** The IETF language tag of the locale customer portal is displayed in.
See: https://docs.stripe.com/api/customer_portal/sessions/object#portal_session_object-locale
url/** The ID of the customer.The URL to redirect the customer to after they have completed their requested actions.
StripeTaxConfig
code^txcd_\d{8}$ · requiredProduct tax code.
StripeWebhookEvent
idThe event ID.
typeThe event type.
livemodeLive mode.
createdThe event created timestamp.
The event data.
StripeWebhookResponse
namespaceId^[0-7][0-9A-HJKMNP-T… · requiredULID (Universally Unique Lexicographically Sortable Identifier).
appId^[0-7][0-9A-HJKMNP-T… · requiredULID (Universally Unique Lexicographically Sortable Identifier).
customerId^[0-7][0-9A-HJKMNP-T…ULID (Universally Unique Lexicographically Sortable Identifier).
messageSubject
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the subject.
keyA unique, human-readable identifier for the subject. This is typically a database ID or a customer key.
deletedAtTimestamp of when the resource was permanently deleted.
displayNameA human-readable display name for the subject.
Metadata for the subject.
currentPeriodStartThe start of the current period for the subject.
currentPeriodEndThe end of the current period for the subject.
stripeCustomerIdThe Stripe customer ID for the subject.
SubjectUpsert
keyA unique, human-readable identifier for the subject. This is typically a database ID or a customer key.
displayNameA human-readable display name for the subject.
Metadata for the subject.
currentPeriodStartThe start of the current period for the subject.
currentPeriodEndThe end of the current period for the subject.
stripeCustomerIdThe Stripe customer ID for the subject.
Subscription
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the resource.
nameHuman-readable name for the resource. Between 1 and 256 characters.
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
activeFromThe cadence start of the resource.
statusThe status of the subscription.
customerId^[0-7][0-9A-HJKMNP-T… · requiredThe customer ID of the subscription.
currency^[A-Z]{3}$ · requiredThe currency code of the subscription. Will be revised once we add multi currency support.
billingCadenceThe billing cadence for the subscriptions. Defines how often customers are billed using ISO8601 duration format. Examples: "P1M" (monthly), "P3M" (quarterly), "P1Y" (annually).
billingAnchorThe normalizedbilling anchor of the subscription.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
deletedAtTimestamp of when the resource was permanently deleted.
activeToThe cadence end of the resource.
Set of key-value pairs managed by the system. Cannot be modified by user.
The plan of the subscription.
The pro-rating configuration for the subscriptions.
Alignment configuration for the plan.
SubscriptionAccess
subscriptionIdThe subscription ID this access is for.
customerIdThe customer ID that owns this subscription.
Map of feature keys to entitlement values for this subscription.
planKeyThe plan key of the subscription.
SubscriptionAddon
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the resource.
nameHuman-readable name for the resource. Between 1 and 256 characters.
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
activeFromThe cadence start of the resource.
Partially populated add-on properties.
quantityAtFor which point in time the quantity was resolved to.
quantityThe quantity of the add-on. Always 1 for single instance add-ons.
The timeline of the add-on. The returned periods are sorted and continuous.
subscriptionId^[0-7][0-9A-HJKMNP-T… · requiredThe ID of the subscription.
The rate cards of the add-on.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
deletedAtTimestamp of when the resource was permanently deleted.
activeToThe cadence end of the resource.
SubscriptionAddonCreate
nameHuman-readable name for the resource. Between 1 and 256 characters.
quantityThe quantity of the add-on. Always 1 for single instance add-ons.
The timing of the operation. After the create or update, a new entry will be created in the timeline.
The add-on to create.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
SubscriptionAddonRateCard
The rate card.
affectedSubscriptionItemIdsThe IDs of the subscription items that this rate card belongs to.
SubscriptionAddonTimelineSegment
activeFromThe cadence start of the resource.
quantityThe quantity of the add-on for the given period.
activeToThe cadence end of the resource.
SubscriptionAddonUpdate
nameHuman-readable name for the resource. Between 1 and 256 characters.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
quantityThe quantity of the add-on. Always 1 for single instance add-ons.
The timing of the operation. After the create or update, a new entry will be created in the timeline.
SubscriptionAlignment
The current billing period. Only has value if the subscription is aligned and active.
billablesMustAlignWhether all Billable items and RateCards must align. Alignment means the Price's BillingCadence must align for both duration and anchor time.
SubscriptionBadRequestErrorResponse
typeType contains a URI that identifies the problem type.
titleA a short, human-readable summary of the problem type.
detailA human-readable explanation specific to this occurrence of the problem.
instanceA URI reference that identifies the specific occurrence of the problem.
statusThe HTTP status code generated by the origin server for this occurrence of the problem.
Additional properties specific to the problem type may be present.
SubscriptionChange
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: timing, plan | |
| type = object · requires: timing, customPlan |
Subscription edit timing defined when the changes should take effect. If the provided configuration is not supported by the subscription, an error will be returned.
References an exact plan defaulting to the current active version.
Set of key-value pairs. Metadata can be used to store additional information about a resource.
startingPhaseThe key of the phase to start the subscription in. If not provided, the subscription will start in the first phase of the plan.
nameThe name of the Subscription. If not provided the plan name is used.
descriptionDescription for the Subscription.
billingAnchorThe billing anchor of the subscription. The provided date will be normalized according to the billing cadence to the nearest recurrence before start time. If not provided, the previous subscription billing anchor will be used.
Alignment configuration for a plan or subscription.
SubscriptionChangeResponseBody
The current subscription before the change.
The new state of the subscription after the change.
SubscriptionConflictErrorResponse
typeType contains a URI that identifies the problem type.
titleA a short, human-readable summary of the problem type.
detailA human-readable explanation specific to this occurrence of the problem.
instanceA URI reference that identifies the specific occurrence of the problem.
statusThe HTTP status code generated by the origin server for this occurrence of the problem.
Additional properties specific to the problem type may be present.
SubscriptionCreate
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: plan | |
| type = object · requires: customPlan |
References an exact plan defaulting to the current active version.
Set of key-value pairs. Metadata can be used to store additional information about a resource.
startingPhaseThe key of the phase to start the subscription in. If not provided, the subscription will start in the first phase of the plan.
nameThe name of the Subscription. If not provided the plan name is used.
descriptionDescription for the Subscription.
Subscription edit timing defined when the changes should take effect. If the provided configuration is not supported by the subscription, an error will be returned.
customerId^[0-7][0-9A-HJKMNP-T…The ID of the customer. Provide either the key or ID. Has presedence over the key.
customerKeyThe key of the customer. Provide either the key or ID.
billingAnchorThe billing anchor of the subscription. The provided date will be normalized according to the billing cadence to the nearest recurrence before start time. If not provided, the subscription start time will be used.
Alignment configuration for a plan or subscription.
SubscriptionEdit
Batch processing commands for manipulating running subscriptions.
The key format is /phases/{phaseKey} or /phases/{phaseKey}/items/{itemKey}.
Whether the billing period should be restarted.Timing configuration to allow for the changes to take effect at different times.
SubscriptionEditOperation
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · op="add_item" · requires: phaseKey, rateCard | |
| type = object · op="remove_item" · requires: phaseKey, itemKey | |
| type = object · op="add_phase" · requires: phase | |
| type = object · op="remove_phase" · requires: phaseKey, shift | |
| type = object · op="stretch_phase" · requires: phaseKey, extendBy | |
| type = object · op="unschedule_edit" |
opphaseKeyA rate card defines the pricing and entitlement of a feature or service.
SubscriptionEntitlements
subscriptionIdThe subscription ID these entitlements belong to.
Map of entitlements for this subscription. The key is the feature key, the value is the entitlement value.
SubscriptionExpanded
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the resource.
nameHuman-readable name for the resource. Between 1 and 256 characters.
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
activeFromThe cadence start of the resource.
statusThe status of the subscription.
customerId^[0-7][0-9A-HJKMNP-T… · requiredThe customer ID of the subscription.
currency^[A-Z]{3}$ · requiredThe currency code of the subscription. Will be revised once we add multi currency support.
billingCadenceThe billing cadence for the subscriptions. Defines how often customers are billed using ISO8601 duration format. Examples: "P1M" (monthly), "P3M" (quarterly), "P1Y" (annually).
billingAnchorThe normalizedbilling anchor of the subscription.
The phases of the subscription.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
deletedAtTimestamp of when the resource was permanently deleted.
activeToThe cadence end of the resource.
Set of key-value pairs managed by the system. Cannot be modified by user.
The plan of the subscription.
The pro-rating configuration for the subscriptions.
Alignment details enriched with the current billing period.
SubscriptionItem
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the resource.
nameHuman-readable name for the resource. Between 1 and 256 characters.
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
activeFromThe cadence start of the resource.
key^[a-z0-9]+(?:_[a-z0-… · requiredThe identifier of the RateCard. SubscriptionItem/RateCard can be identified, it has a reference:
-
If a Feature is associated with the SubscriptionItem, it is identified by the Feature 1.1 It can be an ID reference, for an exact version of the Feature (Features can change across versions) 1.2 It can be a Key reference, which always refers to the latest (active or inactive) version of a Feature
-
If a Feature is not associated with the SubscriptionItem, it is referenced by the Price
We say "referenced by the Price" regardless of how a price itself is referenced, it colloquially makes sense to say "paying the same price for the same thing". In practice this should be derived from what's printed on the invoice line-item.
billingCadenceThe billing cadence of the rate card. When null, the rate card is a one-time purchase.
The price of the rate card. When null, the feature or service is free.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
deletedAtTimestamp of when the resource was permanently deleted.
activeToThe cadence end of the resource.
featureKey^[a-z0-9]+(?:_[a-z0-…The feature's key (if present).
The discounts applied to the rate card.
Describes what access is gained via the SubscriptionItem
The tax config of the Subscription Item. When undefined, the tax config of the feature or the default tax config of the plan is used.
SubscriptionItemIncluded
The feature the customer is entitled to use.
The entitlement of the Subscription Item.
SubscriptionPaginatedResponse
totalCountThe total number of items.
pageThe page index.
pageSizeThe maximum number of items per page.
The items in the current page.
SubscriptionPhase
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the resource.
nameHuman-readable name for the resource. Between 1 and 256 characters.
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
key^[a-z0-9]+(?:_[a-z0-… · requiredA locally unique identifier for the resource.
activeFromThe time from which the phase is active.
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
deletedAtTimestamp of when the resource was permanently deleted.
The discounts on the plan.
activeToThe until which the Phase is active.
SubscriptionPhaseCreate
startAfterInterval after the subscription starts to transition to the phase. When null, the phase starts immediately after the subscription starts.
key^[a-z0-9]+(?:_[a-z0-… · requiredA locally unique identifier for the phase.
nameThe name of the phase.
durationThe intended duration of the new phase. Duration is required when the phase will not be the last phase.
The discounts on the plan.
descriptionThe description of the phase.
SubscriptionPhaseExpanded
id^[0-7][0-9A-HJKMNP-T… · requiredA unique identifier for the resource.
nameHuman-readable name for the resource. Between 1 and 256 characters.
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
key^[a-z0-9]+(?:_[a-z0-… · requiredA locally unique identifier for the resource.
activeFromThe time from which the phase is active.
The items of the phase. The structure is flattened to better conform to the Plan API. The timelines are flattened according to the following rules:
- for the current phase, the
itemscontains only the active item for each key - for past phases, the
itemscontains only the last item for each key - for future phases, the
itemscontains only the first version of the item for each key
Includes all versions of the items on each key, including all edits, scheduled changes, etc...
descriptionOptional description of the resource. Maximum 1024 characters.
Additional metadata for the resource.
deletedAtTimestamp of when the resource was permanently deleted.
The discounts on the plan.
activeToThe until which the Phase is active.
SubscriptionTiming
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = string | |
| type = string |
Subscription edit timing. When immediate, the requested changes take effect immediately. When nextBillingCycle, the requested changes take effect at the next billing cycle.
SubscriptionTimingEnum
Subscription edit timing. When immediate, the requested changes take effect immediately. When nextBillingCycle, the requested changes take effect at the next billing cycle.
TaxBehavior
Tax behavior.
This enum is used to specify whether tax is included in the price or excluded from the price.
TaxConfig
behaviorTax behavior.
If not specified the billing profile is used to determine the tax behavior. If not specified in the billing profile, the provider's default behavior is used.
Stripe tax config.
Custom invoicing tax config.
TieredPrice
typeThe type of the price.
One of: flat, unit, or tiered.
modeDefines if the tiering mode is volume-based or graduated:
- In
volume-based tiering, the maximum quantity within a period determines the per unit price. - In
graduatedtiering, pricing can change as the quantity grows.
The tiers of the tiered price. At least one price component is required in each tier.
TieredPriceWithCommitments
typeThe type of the price.
One of: flat, unit, or tiered.
modeDefines if the tiering mode is volume-based or graduated:
- In
volume-based tiering, the maximum quantity within a period determines the per unit price. - In
graduatedtiering, pricing can change as the quantity grows.
The tiers of the tiered price. At least one price component is required in each tier.
minimumAmount^\-?[0-9]+(\.[0-9]+)…The customer is committed to spend at least the amount.
maximumAmount^\-?[0-9]+(\.[0-9]+)…The customer is limited to spend at most the amount.
ULIDOrExternalKey
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = string | |
| type = string |
^[0-7][0-9A-HJKMNP-T…ULID (Universally Unique Lexicographically Sortable Identifier).
UnauthorizedProblemResponse
typeType contains a URI that identifies the problem type.
titleA a short, human-readable summary of the problem type.
detailA human-readable explanation specific to this occurrence of the problem.
instanceA URI reference that identifies the specific occurrence of the problem.
statusThe HTTP status code generated by the origin server for this occurrence of the problem.
Additional properties specific to the problem type may be present.
UnexpectedProblemResponse
typeType contains a URI that identifies the problem type.
titleA a short, human-readable summary of the problem type.
detailA human-readable explanation specific to this occurrence of the problem.
instanceA URI reference that identifies the specific occurrence of the problem.
statusThe HTTP status code generated by the origin server for this occurrence of the problem.
Additional properties specific to the problem type may be present.
UnitPrice
typeThe type of the price.
amount^\-?[0-9]+(\.[0-9]+)… · requiredThe amount of the unit price.
UnitPriceWithCommitments
typeThe type of the price.
amount^\-?[0-9]+(\.[0-9]+)… · requiredThe amount of the unit price.
minimumAmount^\-?[0-9]+(\.[0-9]+)…The customer is committed to spend at least the amount.
maximumAmount^\-?[0-9]+(\.[0-9]+)…The customer is limited to spend at most the amount.
ValidationError
fieldThe path to the field.
codeThe machine readable description of the error.
messageThe human readable description of the error.
Additional attributes.
ValidationErrorProblemResponse
typeType contains a URI that identifies the problem type.
titleA a short, human-readable summary of the problem type.
detailA human-readable explanation specific to this occurrence of the problem.
instanceA URI reference that identifies the specific occurrence of the problem.
statusThe HTTP status code generated by the origin server for this occurrence of the problem.
Validation issues.
ValidationIssue
createdAtTimestamp of when the resource was created.
updatedAtTimestamp of when the resource was last updated.
id^[0-7][0-9A-HJKMNP-T… · requiredID of the charge or discount.
severityThe severity of the issue.
componentComponent reporting the issue.
messageA human-readable description of the issue.
deletedAtTimestamp of when the resource was permanently deleted.
fieldThe field that the issue is related to, if available in JSON path format.
codeMachine indentifiable code for the issue, if available.
Additional context for the issue.
ValidationIssueSeverity
ValidationIssueSeverity describes the severity of a validation issue.
Issues with severity "critical" will prevent the invoice from being issued.
VoidInvoiceActionCreate
percentageHow much of the total line items to be voided? (e.g. 100% means all charges are voided)
The action to take on the line items.
VoidInvoiceActionCreateItem
percentageHow much of the total line items to be voided? (e.g. 100% means all charges are voided)
The action to take on the line items.
VoidInvoiceActionInput
The action to take on the voided line items.
reasonThe reason for voiding the invoice.
Per line item overrides for the action.
If not specified, the action will be applied to all line items.
VoidInvoiceActionLineOverride
lineId^[0-7][0-9A-HJKMNP-T… · requiredThe line item ID to override.
The action to take on the line item.
VoidInvoiceLineActionCreate
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="discard" | |
| type = object · type="pending" |
typeThe action to take on the line item.
VoidInvoiceLineActionCreateItem
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="discard" | |
| type = object · type="pending" |
typeThe action to take on the line item.
VoidInvoiceLineActionType
VoidInvoiceLineActionType describes how to handle the voidied line item in the invoice.
VoidInvoiceLineDiscardAction
typeThe action to take on the line item.
VoidInvoiceLinePendingActionCreate
typeThe action to take on the line item.
nextInvoiceAtThe time at which the line item should be invoiced again.
If not provided, the line item will be re-invoiced now.
VoidInvoiceLinePendingActionCreateItem
typeThe action to take on the line item.
nextInvoiceAtThe time at which the line item should be invoiced again.
If not provided, the line item will be re-invoiced now.
WindowedBalanceHistory
The windowed balance history.
- It only returns rows for windows where there was usage.
- The windows are inclusive at their start and exclusive at their end.
- The last window may be smaller than the window size and is inclusive at both ends.
Grant burndown history.