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

# Create dynamic QR code

> Creates a new dynamic pix QRCode



## OpenAPI

````yaml v2/api-reference/openapi.json POST /v2/in/pix/qrcodes
openapi: 3.0.0
info:
  title: Trio API v2
  version: 2026-10-19.v2
servers:
  - url: https://api.sandbox.trio.com.br
    variables: {}
  - url: https://api.qa.trio.com.br
    variables: {}
  - url: https://api.trio.com.br
    variables: {}
security: []
tags: []
paths:
  /v2/in/pix/qrcodes:
    parameters:
      - description: >-
          Version of the v2 contract the client is written against. Each
          breaking change publishes a new version.
        example: 2026-10-19.v2
        in: header
        name: Trio-Version
        required: true
        schema:
          enum:
            - 2026-10-19.v2
          type: string
          x-struct: null
          x-validate: null
      - description: >-
          ID of another org to act on instead of the API key's own org. The
          key's org must have been granted access to it, and the request is
          refused with 403 FORBIDDEN otherwise. When that access or the API key
          is read-only, only GET and HEAD requests may carry it. When the target
          org requires mTLS, so does the request. Leave it out to act on the
          key's own org.
        in: header
        name: Trio-Target-Org-Id
        required: false
        schema:
          format: uuid
          type: string
          x-struct: null
          x-validate: null
    post:
      tags:
        - Receivables (in)
        - Pix
      summary: Create a new dynamic pix QRCode
      description: Creates a new dynamic pix QRCode
      operationId: TrioFoundationWeb.V2.In.Pix.QrcodeController.create
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/V2_DynamicQRCodeCreateParams'
        description: Pix QRCode payload
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2_DynamicQRCodeResponse'
          description: Pix QRCode
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2_error'
          description: >-
            Malformed request: a body that is not valid JSON
            (MALFORMED_REQUEST), or a Trio-Version header that is missing or not
            the current one (INVALID_TRIO_VERSION).
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2_error'
          description: Missing or invalid API key credentials (INVALID_CREDENTIALS).
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2_error'
          description: >-
            The API key may not do this (FORBIDDEN): for instance
            Trio-Target-Org-Id names an org it has no access to, or writes
            through a read-only access.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2_error'
          description: >-
            Invalid input (INVALID_PARAMETER, REQUIRED_PARAMETER, or the code of
            the rule the request breaks). A request outside the operation's
            schema lists the offending fields in `errors`.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2_error'
          description: >-
            A service needed to answer is unavailable
            (TRIO_SERVICE_UNAVAILABLE).
      callbacks: {}
      security:
        - authorization: []
components:
  schemas:
    V2_DynamicQRCodeCreateParams:
      description: Body params to create a dynamic QRCode
      example:
        amount: 10
        bank_account_id: 41234d60-f6a9-4c9c-8cc3-5769ce9bbea2
        counterparty:
          bank_accounts:
            - branch: '1'
              digit: '1'
              ispb: '00000001'
              number: '80808080'
              type: checking
          name: counterparty_name
          tax_number: '12345678900'
        description: description
        expiration_datetime: '2026-10-22T14:03:27.395470Z'
        external_id: external_id
        options:
          allow_change_the_amount_on_payment: true
          fee: 0
          show_qrcode_image: true
      properties:
        amount:
          description: Amount value of the dynamic QRCode
          minimum: 1
          type: integer
          x-struct: null
          x-validate: null
        bank_account_id:
          description: Bank Account ID
          type: string
          x-struct: null
          x-validate: null
        counterparty:
          description: Counterparty information
          properties:
            bank_accounts:
              description: Counterparty bank accounts
              items:
                $ref: >-
                  #/components/schemas/DynamicQRCodeCounterpartyBankAccountCreateParams
              type: array
              x-struct: null
              x-validate: null
            name:
              description: Counterparty name
              type: string
              x-struct: null
              x-validate: null
            tax_number:
              description: Counterparty tax number
              type: string
              x-struct: null
              x-validate: null
          required:
            - name
            - tax_number
          type: object
          x-struct: null
          x-validate: null
        description:
          description: Description of the dynamic QRCode
          type: string
          x-struct: null
          x-validate: null
        expiration_datetime:
          description: Expiration datetime
          format: date-time
          type: string
          x-struct: null
          x-validate: null
        external_id:
          description: External ID of the dynamic QRCode
          type: string
          x-struct: null
          x-validate: null
        merchant:
          description: >-
            Merchant to register as the split org merchant. When sent, it is
            saved.
          nullable: true
          properties:
            name:
              description: Merchant name
              type: string
              x-struct: null
              x-validate: null
            tax_number:
              description: Merchant tax number
              type: string
              x-struct: null
              x-validate: null
          required:
            - name
            - tax_number
          type: object
          x-struct: null
          x-validate: null
        options:
          description: QRCode creation options
          properties:
            allow_change_the_amount_on_payment:
              description: Allow amount change
              type: boolean
              x-struct: null
              x-validate: null
            fee:
              description: Fee
              nullable: true
              type: integer
              x-struct: null
              x-validate: null
            show_qrcode_image:
              description: Show qrcode image
              type: boolean
              x-struct: null
              x-validate: null
          required:
            - allow_change_the_amount_on_payment
            - show_qrcode_image
          type: object
          x-struct: null
          x-validate: null
        platform_id:
          description: Platform ID of the dynamic QRCode
          nullable: true
          type: string
          x-struct: null
          x-validate: null
        splits:
          description: Cashin split configurations
          items:
            properties:
              counterparty_recipient_id:
                description: Counterparty recipient UUID
                type: string
                x-struct: null
                x-validate: null
              type:
                description: Split type
                enum:
                  - percentage
                  - fixed
                type: string
                x-struct: null
                x-validate: null
              value:
                description: Percentage (0-100) or fixed amount in cents
                type: integer
                x-struct: null
                x-validate: null
            required:
              - type
              - value
              - counterparty_recipient_id
            type: object
            x-struct: null
            x-validate: null
          nullable: true
          type: array
          x-struct: null
          x-validate: null
      required:
        - amount
        - options
        - bank_account_id
      title: V2 DynamicQRCodeCreateParams
      type: object
      x-struct: >-
        Elixir.TrioFoundationWeb.Schemas.Banking.V2.Cashin.DynamicBrcode.CreateParams
      x-validate: null
    V2_DynamicQRCodeResponse:
      description: Response schema for a single dynamic QRCode
      example:
        data:
          amount:
            amount: 10
            currency: BRL
          bank_account_id: 41234d60-f6a9-4c9c-8cc3-5769ce9bbea2
          counterparty:
            bank_accounts:
              - branch: '0001'
                digit: '1'
                ispb: '00000001'
                number: '12345'
            id: 41234d60-f6a9-4c9c-8cc3-5769ce9bbea2
          description: QRCode 1
          expiration_datetime: '2026-10-14T13:00:00Z'
          external_id: external_id
          fee:
            amount: 0
            currency: BRL
          hash: '123'
          id: 41234d60-f6a9-4c9c-8cc3-5769ce9bbea2
          inserted_at: '2026-10-14T12:00:00Z'
          options:
            allow_change_the_amount_on_payment: true
          origin:
            id: 41234d60-f6a9-4c9c-8cc3-5769ce9bbea2
            type: none
          status: created
          updated_at: '2026-10-14T12:00:00Z'
      properties:
        data:
          $ref: '#/components/schemas/V2_DynamicQRCodeData'
      title: V2 DynamicQRCodeResponse
      type: object
      x-struct: >-
        Elixir.TrioFoundationWeb.Schemas.Banking.V2.Cashin.DynamicBrcode.Response
      x-validate: null
    V2_error:
      example:
        error:
          error_code: INVALID_PARAMETER
          error_message: 'Invalid parameters: /amount: Invalid integer. Got: string'
          errors:
            - field: /amount
              message: 'Invalid integer. Got: string'
      properties:
        error:
          properties:
            error_code:
              description: >-
                Stable UPPER_SNAKE identifier of the error, for programs and
                logs. Branch on this, not on the message.
              type: string
              x-struct: null
              x-validate: null
            error_message:
              description: Human readable explanation of the error.
              type: string
              x-struct: null
              x-validate: null
            errors:
              description: >-
                Only on INVALID_PARAMETER for a request outside the operation's
                schema: one entry per offending field.
              items:
                properties:
                  field:
                    description: JSON pointer to the field, e.g. /amount.
                    type: string
                    x-struct: null
                    x-validate: null
                  message:
                    description: What is wrong with it.
                    type: string
                    x-struct: null
                    x-validate: null
                required:
                  - field
                  - message
                type: object
                x-struct: null
                x-validate: null
              type: array
              x-struct: null
              x-validate: null
          required:
            - error_code
            - error_message
          type: object
          x-struct: null
          x-validate: null
      required:
        - error
      title: V2 error
      type: object
      x-struct: Elixir.TrioFoundationWeb.Schemas.HTTP.V2Error
      x-validate: null
    DynamicQRCodeCounterpartyBankAccountCreateParams:
      description: Counterparty bank account related to a dynamic QRCode
      properties:
        branch:
          description: Counterparty bank account branch
          type: string
          x-struct: null
          x-validate: null
        digit:
          description: Counterparty bank account digit
          type: string
          x-struct: null
          x-validate: null
        ispb:
          description: Counterparty bank account ISPB
          type: string
          x-struct: null
          x-validate: null
        number:
          description: Counterparty bank account number
          type: string
          x-struct: null
          x-validate: null
        type:
          description: Counterparty bank account type
          enum:
            - checking
            - savings
            - salary
            - payment
          type: string
          x-struct: null
          x-validate: null
      required:
        - ispb
        - branch
        - number
        - digit
      title: DynamicQRCodeCounterpartyBankAccountCreateParams
      type: object
      x-struct: >-
        Elixir.TrioFoundationWeb.Schemas.Banking.V1.Cashin.DynamicBrcode.CounterpartyBankAccountCreateParams
      x-validate: null
    V2_DynamicQRCodeData:
      description: >-
        A dynamic QRCode, as returned by show and create. `image` is present
        only when create was asked for it with `options.show_qrcode_image`.
      example:
        amount:
          amount: 10
          currency: BRL
        bank_account_id: 41234d60-f6a9-4c9c-8cc3-5769ce9bbea2
        counterparty:
          bank_accounts:
            - branch: '0001'
              digit: '1'
              ispb: '00000001'
              number: '12345'
          id: 41234d60-f6a9-4c9c-8cc3-5769ce9bbea2
        description: QRCode 1
        expiration_datetime: '2026-10-14T13:00:00Z'
        external_id: external_id
        fee:
          amount: 0
          currency: BRL
        hash: '123'
        id: 41234d60-f6a9-4c9c-8cc3-5769ce9bbea2
        inserted_at: '2026-10-14T12:00:00Z'
        options:
          allow_change_the_amount_on_payment: true
        origin:
          id: 41234d60-f6a9-4c9c-8cc3-5769ce9bbea2
          type: none
        status: created
        updated_at: '2026-10-14T12:00:00Z'
      properties:
        amount:
          description: Amount value of the dynamic QRCode
          properties:
            amount:
              description: Amount integer
              minimum: 1
              type: integer
              x-struct: null
              x-validate: null
            currency:
              description: Amount currency string
              type: string
              x-struct: null
              x-validate: null
          type: object
          x-struct: null
          x-validate: null
        bank_account_id:
          description: Bank account that receives the payment
          format: uuid
          type: string
          x-struct: null
          x-validate: null
        counterparty:
          description: Expected payer of the QRCode
          properties:
            bank_accounts:
              description: >-
                Bank accounts the payment must come from; empty when any is
                accepted
              items:
                properties:
                  branch:
                    description: Branch
                    type: string
                    x-struct: null
                    x-validate: null
                  digit:
                    description: Account digit
                    type: string
                    x-struct: null
                    x-validate: null
                  ispb:
                    description: ISPB
                    type: string
                    x-struct: null
                    x-validate: null
                  number:
                    description: Account number
                    type: string
                    x-struct: null
                    x-validate: null
                type: object
                x-struct: null
                x-validate: null
              type: array
              x-struct: null
              x-validate: null
            id:
              description: Counterparty ID
              format: uuid
              nullable: true
              type: string
              x-struct: null
              x-validate: null
          type: object
          x-struct: null
          x-validate: null
        description:
          description: Description of the dynamic QRCode
          type: string
          x-struct: null
          x-validate: null
        expiration_datetime:
          description: Expiration Datetime
          format: date-time
          nullable: true
          type: string
          x-struct: null
          x-validate: null
        external_id:
          description: External ID of the dynamic QRCode
          nullable: true
          type: string
          x-struct: null
          x-validate: null
        fee:
          description: Fee charged on the payment
          nullable: true
          properties:
            amount:
              description: Fee in cents
              type: integer
              x-struct: null
              x-validate: null
            currency:
              description: Currency
              type: string
              x-struct: null
              x-validate: null
          type: object
          x-struct: null
          x-validate: null
        hash:
          description: Hash (Pix copy and paste) of the QRCode
          type: string
          x-struct: null
          x-validate: null
        id:
          description: Unique identifier
          format: uuid
          type: string
          x-struct: null
          x-validate: null
        image:
          description: Base64 QRCode image, only when requested on create
          type: string
          x-struct: null
          x-validate: null
        inserted_at:
          description: When the QRCode was created
          format: date-time
          type: string
          x-struct: null
          x-validate: null
        options:
          description: Payment options of the QRCode
          properties:
            allow_change_the_amount_on_payment:
              description: Whether the payer may change the amount
              type: boolean
              x-struct: null
              x-validate: null
          type: object
          x-struct: null
          x-validate: null
        origin:
          description: Who or what created the QRCode
          properties:
            id:
              description: Origin ID
              format: uuid
              nullable: true
              type: string
              x-struct: null
              x-validate: null
            type:
              description: Origin type
              nullable: true
              type: string
              x-struct: null
              x-validate: null
          type: object
          x-struct: null
          x-validate: null
        status:
          description: Dynamic QRCode status
          enum:
            - created
            - settled
            - deleted
          type: string
          x-struct: null
          x-validate: null
        updated_at:
          description: When the QRCode was last updated
          format: date-time
          type: string
          x-struct: null
          x-validate: null
      title: V2 DynamicQRCodeData
      type: object
      x-struct: >-
        Elixir.TrioFoundationWeb.Schemas.Banking.V2.Cashin.DynamicBrcode.QrCodeData
      x-validate: null
  securitySchemes:
    authorization:
      scheme: basic
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.