Kong · Schema
UpsertBillingProfileRequest
BillingProfile upsert request.
API GatewayAI GatewayAI ConnectivityAgent GatewayEvent GatewayMCP RegistryService MeshLLMKafkaKonnectOpen-Source
Properties
| Name | Type | Description |
|---|---|---|
| name | string | Display name of the resource. Between 1 and 256 characters. |
| description | string | Optional description of the resource. Maximum 1024 characters. |
| labels | object | |
| supplier | object | The name and contact information for the supplier this billing profile represents |
| workflow | object | The billing workflow settings for this profile |
| default | boolean | Whether this is the default profile. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/UpsertBillingProfileRequest",
"title": "UpsertBillingProfileRequest",
"description": "BillingProfile upsert request.",
"type": "object",
"properties": {
"name": {
"description": "Display name of the resource.\n\nBetween 1 and 256 characters.",
"type": "string",
"maxLength": 256,
"minLength": 1
},
"description": {
"description": "Optional description of the resource.\n\nMaximum 1024 characters.",
"type": "string",
"maxLength": 1024
},
"labels": {
"$ref": "#/components/schemas/Labels"
},
"supplier": {
"description": "The name and contact information for the supplier this billing profile represents",
"type": "object",
"properties": {
"id": {
"description": "Unique identifier for the party.",
"type": "string",
"readOnly": true
},
"key": {
"description": "An optional unique key of the party.",
"type": "string",
"example": "019ae40f-4258-7f15-9491-842f42a7d6ac",
"maxLength": 256,
"minLength": 1,
"title": "External Resource Key"
},
"name": {
"description": "Legal name or representation of the party.",
"type": "string"
},
"tax_id": {
"description": "The entity's legal identification used for tax purposes. They may have\nother numbers, but we're only interested in those valid for tax purposes.",
"type": "object",
"properties": {
"code": {
"description": "Normalized tax identification code shown on the original identity document.",
"type": "string",
"maxLength": 32,
"minLength": 1
}
}
},
"addresses": {
"description": "Address for where information should be sent if needed.",
"type": "object",
"properties": {
"billing_address": {
"description": "Billing address.",
"type": "object",
"properties": {
"country": {
"description": "Country code in [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 format.",
"type": "string",
"example": "US",
"maxLength": 2,
"minLength": 2,
"pattern": "^[A-Z]{2}$",
"title": "Country"
},
"postal_code": {
"description": "Postal code.",
"type": "string",
"title": "Postal Code"
},
"state": {
"description": "State or province.",
"type": "string",
"title": "State"
},
"city": {
"description": "City.",
"type": "string",
"title": "City"
},
"line1": {
"description": "First line of the address.",
"type": "string",
"title": "Line 1"
},
"line2": {
"description": "Second line of the address.",
"type": "string",
"title": "Line 2"
},
"phone_number": {
"description": "Phone number.",
"type": "string",
"title": "Phone Number"
}
}
}
},
"required": [
"billing_address"
]
}
}
},
"workflow": {
"description": "The billing workflow settings for this profile",
"type": "object",
"properties": {
"collection": {
"description": "The collection settings for this workflow",
"type": "object",
"properties": {
"alignment": {
"description": "The alignment for collecting the pending line items into an invoice.",
"type": "object",
"default": {
"type": "subscription"
},
"discriminator": {
"propertyName": "type",
"mapping": {
"subscription": "#/components/schemas/BillingWorkflowCollectionAlignmentSubscription",
"anchored": "#/components/schemas/BillingWorkflowCollectionAlignmentAnchored"
}
},
"oneOf": [
{
"$ref": "#/components/schemas/BillingWorkflowCollectionAlignmentSubscription"
},
{
"$ref": "#/components/schemas/BillingWorkflowCollectionAlignmentAnchored"
}
]
},
"interval": {
"description": "This grace period can be used to delay the collection of the pending line items specified in\nalignment.\n\nThis is useful, in case of multiple subscriptions having slightly different billing periods.",
"type": "string",
"format": "ISO8601",
"example": "P1D",
"default": "PT1H"
}
},
"title": "Workflow collection settings"
},
"invoicing": {
"description": "The invoicing settings for this workflow",
"type": "object",
"properties": {
"auto_advance": {
"description": "Whether to automatically issue the invoice after the draftPeriod has passed.",
"type": "boolean",
"default": true
},
"draft_period": {
"description": "The period for the invoice to be kept in draft status for manual reviews.",
"type": "string",
"format": "ISO8601",
"example": "P1D",
"default": "P0D"
},
"progressive_billing": {
"description": "Should progressive billing be allowed for this workflow?",
"type": "boolean",
"default": true
}
},
"title": "Workflow invoice settings"
},
"payment": {
"description": "The payment settings for this workflow",
"type": "object",
"discriminator": {
"propertyName": "collection_method",
"mapping": {
"charge_automatically": "#/components/schemas/BillingWorkflowPaymentChargeAutomaticallySettings",
"send_invoice": "#/components/schemas/BillingWorkflowPaymentSendInvoiceSettings"
}
},
"oneOf": [
{
"$ref": "#/components/schemas/BillingWorkflowPaymentChargeAutomaticallySettings"
},
{
"$ref": "#/components/schemas/BillingWorkflowPaymentSendInvoiceSettings"
}
]
},
"tax": {
"description": "The tax settings for this workflow",
"type": "object",
"properties": {
"enabled": {
"description": "Enable automatic tax calculation when tax is supported by the app.\nFor example, with Stripe Invoicing when enabled, tax is calculated via Stripe Tax.",
"type": "boolean",
"default": true
},
"enforced": {
"description": "Enforce tax calculation when tax is supported by the app.\nWhen enabled, the billing system will not allow to create an invoice without tax calculation.\nEnforcement is different per apps, for example, Stripe app requires customer\nto have a tax location when starting a paid subscription.",
"type": "boolean",
"default": false
},
"default_tax_config": {
"description": "Default tax configuration to apply to the invoices for line items.",
"type": "object",
"properties": {
"behavior": {
"description": "Tax behavior.\n\nIf not specified the billing profile is used to determine the tax behavior.\nIf not specified in the billing profile, the provider's default behavior is used.",
"type": "string",
"enum": [
"inclusive",
"exclusive"
],
"title": "Tax behavior",
"x-speakeasy-unknown-values": "allow"
},
"stripe": {
"description": "Stripe tax config.",
"type": "object",
"deprecated": true,
"properties": {
"code": {
"description": "Product [tax code](https://docs.stripe.com/tax/tax-codes).",
"type": "string",
"example": "txcd_10000000",
"pattern": "^txcd_\\d{8}$",
"title": "Tax code"
}
},
"required": [
"code"
],
"title": "Stripe tax config"
},
"external_invoicing": {
"description": "External invoicing tax config.",
"type": "object",
"deprecated": true,
"properties": {
"code": {
"description": "The tax code should be interpreted by the external invoicing provider.",
"type": "string",
"maxLength": 64,
"title": "Tax code"
}
},
"required": [
"code"
],
"title": "External invoicing tax config"
},
"tax_code_id": {
"description": "Tax code ID.",
"type": "string",
"example": "01G65Z755AFWAKHE12NY0CQ9FH",
"deprecated": true,
"pattern": "^[0-7][0-9A-HJKMNP-TV-Z]{25}$",
"title": "Tax code ID"
},
"tax_code": {
"description": "Tax code reference.\n\nWhen both `tax_code` and `tax_code_id` are provided, `tax_code` takes precedence.\nWhen `stripe.code` is also provided, `tax_code` still wins and `stripe.code` is ignored.",
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/ULID"
}
},
"required": [
"id"
],
"title": "Tax code"
}
}
}
},
"title": "Workflow tax settings"
}
}
},
"default": {
"description": "Whether this is the default profile.",
"type": "boolean"
}
},
"required": [
"name",
"supplier",
"workflow",
"default"
]
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/kong-upsertbillingprofilerequest"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.