> ## Documentation Index
> Fetch the complete documentation index at: https://nevermined.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a tier-plan Stripe checkout

> Resolves the catalog row by (tier, currency, interval) and returns a hosted Stripe Checkout URL (fiat subscription). The org id is taken from the verified session and must match the path `:orgId` (mismatch is rejected). Tier changes on a live subscription must go through /upgrade or /downgrade, not a second checkout. Requires a Nevermined API key. Requires organization admin privileges.



## OpenAPI

````yaml /api-reference/organizations-openapi.json post /organizations/{orgId}/billing/checkout
openapi: 3.0.0
info:
  title: Nevermined Organizations API
  description: >-
    Manage a Nevermined organization programmatically — members, tiers, groups &
    budgets, treasury wallets, customers, webhooks, analytics, and
    agent-discovery surfaces.
  version: 1.0.0
  contact: {}
servers:
  - url: https://api.sandbox.nevermined.app/api/v1
    description: Sandbox
  - url: https://api.live.nevermined.app/api/v1
    description: Live
security: []
tags:
  - name: Organizations
    x-group: General
    description: Organization settings, members & roles, and workspace context.
  - name: Organizations - Billing
    x-group: Billing
    description: Tiers, subscriptions, invoices, checkout, and the public tier catalog.
  - name: Groups
    x-group: Groups & Budgets
    description: Organization groups, per-group budgets, and shared payment methods.
  - name: Organizations - Wallets
    x-group: Wallets
    description: Custodial stablecoin treasury wallets.
  - name: Organizations - Customers
    x-group: Customers
    description: The white-label customer CRM (Enterprise).
  - name: Organizations - Analytics
    x-group: Analytics
    description: Revenue, MRR, usage, conversion, and per-member metrics.
  - name: Organizations - Webhooks
    x-group: Webhooks
    description: Outbound webhook subscriptions and deliveries.
  - name: Organizations - Activity
    x-group: Activity
    description: The organization activity feed.
  - name: Organizations - Realtime
    x-group: Realtime
    description: Realtime WebSocket secret management (Enterprise).
  - name: Invitations
    x-group: Invitations
    description: Invite people to an organization.
  - name: Organizations - Integration
    x-group: Agent Discovery
    description: >-
      Public agent-discovery surfaces (llms.txt, agentic-instructions.md,
      ai-catalog.json).
paths:
  /organizations/{orgId}/billing/checkout:
    post:
      tags:
        - Organizations - Billing
      summary: Create a tier-plan Stripe checkout
      description: >-
        Resolves the catalog row by (tier, currency, interval) and returns a
        hosted Stripe Checkout URL (fiat subscription). The org id is taken from
        the verified session and must match the path `:orgId` (mismatch is
        rejected). Tier changes on a live subscription must go through /upgrade
        or /downgrade, not a second checkout. Requires a Nevermined API key.
        Requires organization admin privileges.
      operationId: BillingController_createCheckout
      parameters:
        - name: orgId
          required: true
          in: path
          description: >-
            Organization identifier. Must match the authenticated session org
            context.
          schema:
            type: string
            example: org-abc123
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrgCheckoutDto'
      responses:
        '200':
          description: Stripe Checkout URL
        '400':
          description: Invalid (currency, interval) combination
        '401':
          description: Unauthorized
        '403':
          description: Forbidden — not an org admin, or orgId mismatch
        '409':
          description: >-
            Organization already has a live subscription — use /upgrade or
            /downgrade instead (BCK.BILLING.0022).
        '503':
          description: Tier catalog not yet bootstrapped
      security:
        - Authorization: []
components:
  schemas:
    CreateOrgCheckoutDto:
      type: object
      properties:
        tier:
          type: string
          description: Target tier to subscribe the organization to.
          enum:
            - Premium
            - Enterprise
          example: Premium
        currency:
          type: string
          description: >-
            Currency for the purchase. Accepted for backward compatibility but
            currently ignored — checkout always resolves to USD.
          enum:
            - USD
            - EUR
            - USDC
            - EURC
          example: USD
        interval:
          type: string
          description: >-
            Billing interval. Accepted for backward compatibility but currently
            ignored — checkout always resolves to a monthly interval.
          enum:
            - month
            - year
            - one_shot
          example: month
      required:
        - tier
  securitySchemes:
    Authorization:
      scheme: bearer
      bearerFormat: JWT
      type: http

````

## Related topics

- [API error codes](/docs/development-guide/api-errors/codes.md)
- [Workspaces & Members](/docs/solutions/organizations/workspaces-and-members.md)
- [Plans & Billing](/docs/solutions/organizations/plans-and-billing.md)
- [Fiat Payments](/docs/integrate/patterns/fiat-payments.md)
- [Upgrade a Premium org to Enterprise without resubscribing](/docs/api-reference/organizations--billing/upgrade-a-premium-org-to-enterprise-without-resubscribing.md)
