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

# Create Stripe product

> <Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Creates a product. Retrying the request can create another product. Requires write access to the app. Workspace viewers cannot call this operation. Uses the Stripe account selected by the app's stored credentials. Live keys select the live catalog and test keys select the test catalog. Products and prices belong to that Stripe account, so apps configured with the same account share its catalog.



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json post /api/apps/{app_id}/payments/stripe/products
openapi: 3.1.0
info:
  title: Base44 App Management API
  version: 1.0.0
servers:
  - url: https://app.base44.com
security:
  - ApiKeyAuth: []
paths:
  /api/apps/{app_id}/payments/stripe/products:
    post:
      summary: Create Stripe product
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Creates a product. Retrying the request can create another product.
        Requires write access to the app. Workspace viewers cannot call this
        operation. Uses the Stripe account selected by the app's stored
        credentials. Live keys select the live catalog and test keys select the
        test catalog. Products and prices belong to that Stripe account, so apps
        configured with the same account share its catalog.
      operationId: create_product_api_apps__app_id__payments_stripe_products_post
      parameters:
        - name: app_id
          in: path
          required: true
          schema:
            type: string
            description: ID of the Base44 app.
            title: App Id
          description: ID of the Base44 app.
          example: 6820f3a4e7b91d003c45a1f2
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProductRequest'
      responses:
        '200':
          description: The operation result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StripeCatalogProduct'
        '400':
          description: Stripe keys are missing, or the app's test sandbox has expired.
        '401':
          description: Missing or invalid credentials.
        '403':
          description: >-
            The credential is not permitted or you don't have the required app
            access. A missing app also fails the app access check.
        '404':
          description: The app is outside the credential's granted workspace.
        '409':
          description: The workspace requires an unlocked SSO session.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    CreateProductRequest:
      properties:
        name:
          type: string
          title: Name
          description: Product name.
          example: Studio membership
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: Product description. Defaults to `null`.
          example: Access to weekly classes.
        metadata:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Metadata
          description: >-
            Metadata to store. Use string values accepted by Stripe. Defaults to
            `null`. Omitted or null metadata leaves an existing value unchanged
            on update.
          example:
            tier: standard
      type: object
      required:
        - name
      title: CreateProductRequest
      description: Request to create a Stripe product.
    StripeCatalogProduct:
      properties:
        id:
          type: string
          title: Id
          description: Stripe product ID.
          example: prod_T7mK2p9Q4r6S8v
        name:
          type: string
          title: Name
          description: Product name.
          example: Studio membership
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: Product description, or `null` when none is set.
          example: Access to weekly classes.
        active:
          type: boolean
          title: Active
          description: Whether the product is active.
          example: true
        images:
          items:
            type: string
          type: array
          title: Images
          description: Product image URLs.
          example:
            - https://example.com/membership.jpg
        metadata:
          additionalProperties: true
          type: object
          title: Metadata
          description: Metadata stored on the product.
          example:
            category: membership
      type: object
      required:
        - id
        - name
        - description
        - active
        - images
        - metadata
      title: StripeCatalogProduct
      description: A product in the Stripe account configured for the app.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: api_key
      description: Personal API key.

````