openapi: 3.0.0 info: title: Kinde Management API Keys Billing Agreements API version: '1' description: The Kinde Management API programmatically manages a Kinde business - users, organizations, roles, permissions, feature flags, applications, connections, APIs and scopes, subscribers, properties, webhooks, and billing. Base URL is subdomain-scoped to your business (https://{subdomain}.kinde.com/api/v1). Authenticated with a Bearer JWT access token obtained via the OAuth2 client_credentials flow from a machine-to-machine (M2M) application. This document is grounded in the official Kinde Management API specification (https://api-spec.kinde.com/kinde-management-api-spec.yaml). contact: name: Kinde Support Team email: support@kinde.com url: https://docs.kinde.com termsOfService: https://docs.kinde.com/trust-center/agreements/terms-of-service/ servers: - url: https://{subdomain}.kinde.com variables: subdomain: default: your_kinde_subdomain description: The subdomain generated for your business on Kinde. security: - kindeBearerAuth: [] tags: - name: Billing Agreements paths: /api/v1/billing/agreements: get: tags: - Billing Agreements summary: Get billing agreements operationId: getBillingAgreements description: "Returns all the agreements a billing customer currently has access to\n\n
\n read:billing_agreements\n
" parameters: - name: page_size in: query description: Number of results per page. Defaults to 10 if parameter not sent. schema: type: integer - name: starting_after in: query description: The ID of the billing agreement to start after. schema: type: string - name: ending_before in: query description: The ID of the billing agreement to end before. schema: type: string - name: customer_id in: query required: true description: The ID of the billing customer to retrieve agreements for schema: type: string - name: feature_code in: query description: The feature code to filter by agreements only containing that feature schema: type: string responses: '200': description: OK '400': description: Bad request '403': description: Forbidden '429': description: Too many requests - rate limited security: - kindeBearerAuth: [] post: tags: - Billing Agreements summary: Create billing agreement operationId: createBillingAgreement description: "Creates a new billing agreement based on the plan code passed, and cancels the customer's existing agreements\n\n
\n create:billing_agreements\n
" responses: '200': description: OK '400': description: Bad request '403': description: Forbidden '429': description: Too many requests - rate limited security: - kindeBearerAuth: [] components: securitySchemes: kindeBearerAuth: type: http scheme: bearer bearerFormat: JWT description: Requires an access token obtained using the OAuth2 client_credentials flow from an authorized M2M application.