> ## 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.

# Update Stripe price

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

Updates supplied non-null fields. The amount, currency, and recurring schedule cannot be changed here. The response does not include the nickname even when it was updated. 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 put /api/apps/{app_id}/payments/stripe/prices/{price_id}
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/prices/{price_id}:
    put:
      summary: Update Stripe price
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Updates supplied non-null fields. The amount, currency, and recurring
        schedule cannot be changed here. The response does not include the
        nickname even when it was updated. 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: update_price_api_apps__app_id__payments_stripe_prices__price_id__put
      parameters:
        - name: price_id
          in: path
          required: true
          schema:
            type: string
            description: Stripe price ID in the configured account.
            title: Price Id
          description: Stripe price ID in the configured account.
          example: price_1T7mK2Q4r6S8v9Ab
        - 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/UpdatePriceRequest'
      responses:
        '200':
          description: The operation result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StripeCatalogPrice'
        '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:
    UpdatePriceRequest:
      properties:
        active:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Active
          description: >-
            Whether the price is active. Omitted or null values leave it
            unchanged. Defaults to `null`.
          example: false
        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
        nickname:
          anyOf:
            - type: string
            - type: 'null'
          title: Nickname
          description: >-
            New internal price label. Omitted or null values leave it unchanged.
            Defaults to `null`.
          example: Monthly membership
      type: object
      title: UpdatePriceRequest
      description: Request to update a Stripe price.
    StripeCatalogPrice:
      properties:
        id:
          type: string
          title: Id
          description: Stripe price ID.
          example: price_1T7mK2Q4r6S8v9Ab
        product:
          type: string
          title: Product
          description: Stripe product ID this price belongs to.
          example: prod_T7mK2p9Q4r6S8v
        unit_amount:
          anyOf:
            - type: integer
            - type: 'null'
          title: Unit Amount
          description: >-
            Amount in the currency's smallest unit, or `null` for pricing
            without a fixed integer unit amount.
          example: 2500
        currency:
          type: string
          title: Currency
          description: Currency as a lowercase three-letter ISO 4217 code.
          example: usd
        active:
          type: boolean
          title: Active
          description: Whether the price is active.
          example: true
        metadata:
          additionalProperties: true
          type: object
          title: Metadata
          description: Metadata stored on the price.
          example:
            tier: standard
        recurring:
          anyOf:
            - $ref: '#/components/schemas/StripeCatalogRecurring'
            - type: 'null'
          description: Billing schedule, or `null` for a one-time price.
          example:
            interval: month
            interval_count: 1
            usage_type: licensed
      type: object
      required:
        - id
        - product
        - unit_amount
        - currency
        - active
        - metadata
        - recurring
      title: StripeCatalogPrice
      description: A price in the Stripe account configured for the app.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    StripeCatalogRecurring:
      properties:
        interval:
          type: string
          title: Interval
          description: Billing interval. Either `day`, `week`, `month`, or `year`.
          example: month
        interval_count:
          type: integer
          title: Interval Count
          description: Number of intervals between bills.
          example: 1
        usage_type:
          type: string
          title: Usage Type
          description: Usage model. Either `licensed` or `metered`.
          example: licensed
      type: object
      required:
        - interval
        - interval_count
        - usage_type
      title: StripeCatalogRecurring
      description: The recurring billing schedule of a Stripe price.
    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.

````