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

# Update payment concept

> Updates editable fields of an existing payment concept by id.



## OpenAPI

````yaml /openapi.yaml patch /v1/payment-concepts/{id}
openapi: 3.0.3
info:
  title: Quentli REST API
  version: 1.0.0
  description: OpenAPI spec for Quentli REST endpoints.
servers:
  - url: https://api.quentli.com
    description: Production API
  - url: https://api.staging.quentli.com
    description: Staging API for production-like validation
  - url: https://api.demo.quentli.com
    description: Demo API hostname served by staging
security:
  - organizationApiKey: []
tags:
  - name: Auth
  - name: Billing
  - name: Catalog
  - name: Customers
  - name: Invoices
  - name: Payment Methods
  - name: Payment Sessions
  - name: Payments
  - name: Subscriptions
  - name: Tax Invoices
  - name: Webhooks
paths:
  /v1/payment-concepts/{id}:
    patch:
      tags:
        - Catalog
      summary: Update payment concept
      description: Updates editable fields of an existing payment concept by id.
      operationId: payment_concepts_update
      parameters:
        - schema:
            type: string
            description: Identifier of the payment concept.
          required: true
          description: Identifier of the payment concept.
          name: id
          in: path
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePaymentConceptArgs'
      responses:
        '200':
          description: Payment concept updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePaymentConceptPayload'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserError'
        '401':
          description: Authentication required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserError'
        '403':
          description: Permission denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserError'
        '404':
          description: Payment concept not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserError'
components:
  schemas:
    UpdatePaymentConceptArgs:
      type: object
      properties:
        input:
          type: object
          properties:
            data:
              type: object
              properties:
                displayName:
                  type: string
                  minLength: 1
                  description: Updated display name of the concept.
                  example: Colegiatura Preparatoria
                sku:
                  type: string
                  nullable: true
                  minLength: 1
                  description: Updated SKU. Pass null to clear.
                  example: COL-PREP-001
                description:
                  type: string
                  nullable: true
                  description: Updated description. Pass null to clear.
                  example: null
                active:
                  type: boolean
                  description: Whether the concept should be active.
                  example: true
                amount:
                  type: number
                  minimum: 0
                  description: Updated unit price in minor currency units.
                  example: 150000
                amountEditable:
                  type: boolean
                  description: Whether customers can customize the price.
                  example: false
                archivedAt:
                  anyOf:
                    - type: string
                      description: Date string
                    - type: string
                      format: date-time
                      description: Date object
                    - nullable: true
                  description: Set to a date to archive, null to unarchive.
                  example: null
                archivedById:
                  type: string
                  nullable: true
                  description: Identifier of the user archiving the concept.
                  example: null
                currency:
                  type: string
                  nullable: true
                  description: Updated ISO 4217 currency code.
                  example: MXN
                groupId:
                  type: string
                  nullable: true
                  description: Updated group identifier. Pass null to remove from group.
                  example: null
                quantityEditable:
                  type: boolean
                  description: Whether customers can customize the quantity.
                  example: false
                recurrentDetail:
                  type: object
                  properties:
                    collectionInterval:
                      type: string
                      enum:
                        - DAY
                        - WEEK
                        - FORTNIGHT
                        - MONTH
                        - YEAR
                      description: Time interval unit for recurring charges.
                      example: MONTH
                    chargeEach:
                      type: number
                      minimum: 0
                      description: Number of intervals between charges.
                      example: 1
                    toleranceDays:
                      type: number
                      nullable: true
                      minimum: 0
                      description: >-
                        Grace days after the due date before the invoice
                        expires.
                      example: 5
                  required:
                    - collectionInterval
                    - chargeEach
                  additionalProperties: false
                  description: Updated recurrence configuration.
                  example: null
                chargeEach:
                  type: number
                  nullable: true
                  description: 'Deprecated: use recurrentDetail instead.'
                  example: null
                collectionInterval:
                  type: string
                  enum:
                    - DAY
                    - WEEK
                    - FORTNIGHT
                    - MONTH
                    - YEAR
                  nullable: true
                  description: 'Deprecated: use recurrentDetail instead.'
                  example: null
                toleranceDays:
                  type: number
                  nullable: true
                  description: 'Deprecated: use recurrentDetail instead.'
                  example: null
                taxInfo:
                  type: object
                  properties:
                    description:
                      type: string
                      description: Tax description override.
                    productKey:
                      type: string
                      description: SAT product key.
                    unitKey:
                      type: string
                      description: SAT unit key.
                    unitName:
                      type: string
                      description: Unit name override.
                    taxRate:
                      type: number
                      minimum: 0
                      maximum: 1
                      description: Tax rate as a decimal between 0 and 1.
                    taxability:
                      type: string
                      description: SAT taxability code.
                  description: Optional tax configuration update.
                  example: null
                metadata:
                  type: array
                  items:
                    type: object
                    properties:
                      key:
                        type: string
                        description: Metadata key name.
                      value:
                        type: string
                        nullable: true
                        description: Metadata value. Pass null to delete the key.
                    required:
                      - key
                  description: Metadata entries to upsert or delete.
                  example: []
                meta:
                  type: object
                  additionalProperties:
                    type: string
                    nullable: true
                  description: Alternative flat metadata map. Null values delete the key.
                  example: null
          required:
            - data
      required:
        - input
      description: >-
        Request body for updating a payment concept (id is provided in the URL
        path).
    UpdatePaymentConceptPayload:
      type: object
      properties:
        paymentConcept:
          $ref: '#/components/schemas/PaymentConcept'
      required:
        - paymentConcept
      description: Updated payment concept.
    UserError:
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
          required:
            - message
      required:
        - error
      additionalProperties: false
      description: Standard user-facing error response envelope.
    PaymentConcept:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the payment concept.
          example: pc_1234567890abcdefghij
        createdAt:
          anyOf:
            - type: string
              description: Date string
            - type: string
              format: date-time
              description: Date object
          description: When the concept was created.
          example: '2025-01-01T00:00:00.000Z'
        updatedAt:
          anyOf:
            - type: string
              description: Date string
            - type: string
              format: date-time
              description: Date object
          description: When the concept was last updated.
          example: '2025-01-01T00:00:00.000Z'
        displayName:
          type: string
          description: Name of the product or service shown to customers.
          example: Colegiatura
        description:
          type: string
          nullable: true
          description: Optional longer description of the product or service.
          example: Colegiatura mensual de preparatoria
        amount:
          type: number
          description: Unit price in minor currency units (e.g. cents).
          example: 150000
        currency:
          type: string
          description: ISO 4217 currency code.
          example: MXN
        organizationId:
          type: string
          description: Identifier of the owning organization.
          example: org_1234567890abcdefghij
        active:
          type: boolean
          description: Whether this concept is currently available for use.
          example: true
        sku:
          type: string
          nullable: true
          description: Optional SKU for internal identification.
          example: COL-PREP-001
        recurrentDetailId:
          type: string
          nullable: true
          description: Identifier of the recurrence configuration, if applicable.
          example: null
        amountEditable:
          type: boolean
          description: Whether customers can customize the price.
          example: false
        quantityEditable:
          type: boolean
          description: Whether customers can customize the quantity.
          example: false
        archivedAt:
          anyOf:
            - type: string
              description: Date string
            - type: string
              format: date-time
              description: Date object
            - nullable: true
          description: Date and time when the concept was archived, if any.
          example: null
        oneOff:
          type: boolean
          description: Whether this concept is a one-time custom charge.
          example: false
        groupId:
          type: string
          nullable: true
          description: Identifier of the group this concept belongs to, if any.
          example: null
        recurrentDetail:
          type: object
          nullable: true
          properties:
            collectionInterval:
              type: string
              enum:
                - DAY
                - WEEK
                - FORTNIGHT
                - MONTH
                - YEAR
              description: Time interval unit for recurring charges.
              example: MONTH
            chargeEach:
              type: number
              description: Number of intervals between charges.
              example: 1
            toleranceDays:
              type: number
              nullable: true
              description: Grace days after the due date before the invoice expires.
              example: 5
          required:
            - collectionInterval
            - chargeEach
          description: Recurrence configuration when the concept is a recurring charge.
          example: null
      required:
        - id
        - createdAt
        - updatedAt
        - displayName
        - description
        - amount
        - currency
        - organizationId
        - active
        - sku
        - recurrentDetailId
        - amountEditable
        - quantityEditable
        - archivedAt
        - oneOff
        - groupId
      description: A product or service template used to define invoice line items.
  securitySchemes:
    organizationApiKey:
      type: http
      scheme: bearer
      description: 'Organization API key using `Authorization: Bearer sk_...`.'

````