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

# Execute a previously created quote.

> Execute a quote that was created earlier through POST /quotes after any optional readback through GET /quotes/{quoteId}/current or GET /quotes/{quoteId}. The public execute contract is body-less, can include an optional `Idempotency-Key`, and returns the bounded execution acceptance result linked by public `transactionId`.



## OpenAPI

````yaml /openapi/blips-public-reference.yaml post /quotes/{quoteId}/execute
openapi: 3.1.0
info:
  title: BLIPS Public Reference API
  version: '2026-04-08'
  description: >-
    Public OpenAPI 3.1 subset for the first BLIPS Mintlify API Reference and
    Playground release. This document is bound to the confirmed Public Test
    Backend at https://public-test.blips.network, includes only the approved
    first-release public endpoints, uses only internal `$ref` values, and
    excludes callback-only webhook documentation and operator-only surfaces.
servers:
  - url: https://public-test.blips.network
    description: >-
      Confirmed Public Test Backend ingress target for public BLIPS API
      Reference, Playground, and internet-testable Try It flows.
security:
  - BasicAuth: []
tags:
  - name: Platform Setup
    description: >-
      Bootstrap and platform configuration surfaces for establishing the public
      BLIPS integration context.
  - name: Sandbox API
    description: >-
      Sandbox-only externally displayed helper surfaces. These routes either
      adjust quote inputs or create incoming-payment review cases, but they
      always feed the existing quote or transaction families and never become
      second outward API families.
  - name: Tokens
    description: >-
      Platform-scoped API credential create, list, detail, and revoke
      operations.
  - name: Customers
    description: >-
      Customer onboarding, profile lifecycle, and PPV payment-address issuance
      surfaces.
  - name: Accounts
    description: >-
      Customer-bound internal-account and external-account surfaces kept in the
      first-layer public contract.
  - name: Same-Currency Transfers
    description: >-
      Same-currency receiver lookup plus incoming and outgoing transfer
      primitives.
  - name: Cross-Currency Transfers
    description: >-
      PPV-first receiver lookup, quote creation/readback, and quote execution
      for cross-currency flows.
  - name: Transactions
    description: Transaction readback plus bounded incoming-review decision operations.
  - name: Webhooks
    description: >-
      Webhook connectivity verification surface for the public BLIPS
      integration.
paths:
  /quotes/{quoteId}/execute:
    post:
      tags:
        - Cross-Currency Transfers
      summary: Execute a previously created quote.
      description: >-
        Execute a quote that was created earlier through POST /quotes after any
        optional readback through GET /quotes/{quoteId}/current or GET
        /quotes/{quoteId}. The public execute contract is body-less, can include
        an optional `Idempotency-Key`, and returns the bounded execution
        acceptance result linked by public `transactionId`.
      operationId: executeQuote
      parameters:
        - name: quoteId
          in: path
          required: true
          schema:
            type: string
          description: >-
            Quote identifier returned by quote creation and quote readback flows
            and used to execute that quote.
        - name: Idempotency-Key
          in: header
          required: false
          schema:
            type: string
          description: >-
            Optional idempotency key for safe client retries of this execution
            action.
      responses:
        '200':
          description: Quote execution accepted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteExecuteMvpResponse'
              examples:
                accepted:
                  value:
                    quoteId: Quote:quote_123
                    transactionId: txn_quote_execute_001
                    status: PENDING
                    createdAt: '2026-03-28T10:00:00Z'
                    expiresAt: '2026-03-28T10:15:00Z'
                    source:
                      accountId: InternalAccount:sender_usd_001
                    destination:
                      ppvAddress: demo-customer@pay.example.blips
                    sendingCurrency:
                      code: USD
                    receivingCurrency:
                      code: PHP
                    totalSendingAmount: 10000
                    totalReceivingAmount: 542300
                    exchangeRate: 54.23
                    feesIncluded: true
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteExecuteMvpErrorResponse'
              examples:
                invalidRequest:
                  value:
                    status: 400
                    code: INVALID_REQUEST
                    message: Invalid quoteId path value
                    details:
                      quoteId: must be a non-empty quote identifier
        '401':
          description: Invalid or missing API credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteExecuteMvpErrorResponse'
              examples:
                unauthorized:
                  value:
                    status: 401
                    code: UNAUTHORIZED
                    message: Invalid or missing API credentials
                    details: {}
        '404':
          description: Quote not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteExecuteMvpErrorResponse'
              examples:
                quoteNotFound:
                  value:
                    status: 404
                    code: QUOTE_NOT_FOUND
                    message: Quote not found
                    details: {}
        '409':
          description: Quote expired or is no longer eligible for execution.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteExecuteMvpErrorResponse'
              examples:
                quoteExpired:
                  value:
                    status: 409
                    code: QUOTE_EXPIRED
                    message: Quote expired
                    details: {}
                quoteNotExecutable:
                  value:
                    status: 409
                    code: QUOTE_NOT_EXECUTABLE
                    message: Quote is not executable
                    details: {}
        '500':
          description: Internal service error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteExecuteMvpErrorResponse'
              examples:
                internalError:
                  value:
                    status: 500
                    code: INTERNAL_ERROR
                    message: Internal service error
                    details: {}
      security:
        - BasicAuth: []
components:
  schemas:
    QuoteExecuteMvpResponse:
      type: object
      description: >-
        Public transaction-first quote-execute response returned after the
        public quote execution action is accepted.
      properties:
        quoteId:
          type: string
          description: Quote identifier for the executed quote.
        transactionId:
          type: string
          description: >-
            Public transaction identifier created or reused for this execution
            and used on the transaction routes.
        status:
          type: string
          enum:
            - PENDING
            - PROCESSING
            - COMPLETED
            - FAILED
          description: Current top-level execution status.
        createdAt:
          type: string
          format: date-time
          description: RFC 3339 timestamp when the execution acceptance record was created.
        expiresAt:
          type: string
          format: date-time
          description: RFC 3339 timestamp when the executed quote window expires.
        source:
          $ref: '#/components/schemas/QuoteExecuteMvpSource'
          description: Source account snapshot used for this execution.
        destination:
          $ref: '#/components/schemas/QuoteExecuteMvpDestination'
          description: Destination snapshot used for this execution.
        sendingCurrency:
          $ref: '#/components/schemas/QuoteExecuteMvpCurrency'
          description: Sending currency for the executed quote.
        receivingCurrency:
          $ref: '#/components/schemas/QuoteExecuteMvpCurrency'
          description: Receiving currency for the executed quote.
        totalSendingAmount:
          type: integer
          description: Total sender-side amount in minor units for this execution.
        totalReceivingAmount:
          type: integer
          description: Total receiver-side amount in minor units for this execution.
        exchangeRate:
          type:
            - number
            - integer
          description: Execution exchange rate applied to the quote.
        feesIncluded:
          type: boolean
          description: Whether the execution totals already include fees.
      required:
        - quoteId
        - transactionId
        - status
        - createdAt
        - expiresAt
        - source
        - destination
        - sendingCurrency
        - receivingCurrency
        - totalSendingAmount
        - totalReceivingAmount
        - exchangeRate
        - feesIncluded
      additionalProperties: true
    QuoteExecuteMvpErrorResponse:
      type: object
      description: Standard public error envelope for quote execution failures.
      additionalProperties: false
      required:
        - status
        - code
        - message
        - details
      properties:
        status:
          type: integer
          description: HTTP status code returned for the failed quote-execute request.
        code:
          type: string
          description: Stable public error code for the failed quote-execute request.
        message:
          type: string
          description: Human-readable summary of the quote-execute failure.
        details:
          type: object
          nullable: true
          additionalProperties: true
          description: Additional structured error context when present.
    QuoteExecuteMvpSource:
      type: object
      description: Source account snapshot returned with the execution acceptance response.
      properties:
        accountId:
          type: string
          description: Sender internal-account ID used for quote execution.
      required:
        - accountId
      additionalProperties: false
    QuoteExecuteMvpDestination:
      type: object
      description: Destination snapshot returned with the execution acceptance response.
      properties:
        ppvAddress:
          type: string
          description: Public PPV address in plain `localPart@ppvDomain` format.
      required:
        - ppvAddress
      additionalProperties: false
    QuoteExecuteMvpCurrency:
      type: object
      description: Currency snapshot returned with the execution acceptance response.
      properties:
        code:
          type: string
          description: ISO 4217 currency code.
      required:
        - code
      additionalProperties: false
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
      description: >-
        Integration-key Basic Auth (`clientId:clientSecret`) as documented in
        docs/public/AUTHENTICATION.md.

````