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

# Resolve receiver by PPV address

> Resolve a receiver by public PPV address in the PPV-first flow before quote creation. Returns the lookupId required by POST /quotes.



## OpenAPI

````yaml /openapi/blips-public-reference.yaml get /receiver/ppv/{ppvAddress}
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:
  /receiver/ppv/{ppvAddress}:
    get:
      tags:
        - Cross-Currency Transfers
      summary: Resolve receiver by PPV address
      description: >-
        Resolve a receiver by public PPV address in the PPV-first flow before
        quote creation. Returns the lookupId required by POST /quotes.
      operationId: lookupReceiverByPpv
      parameters:
        - $ref: '#/components/parameters/PpvAddress'
      responses:
        '200':
          description: PPV receiver lookup returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceiverLookupPpvMvpResponse'
              examples:
                lookup:
                  value:
                    lookupId: lookup_receiver_ppv_001
                    ppvAddress: demo-customer@pay.example.blips
                    supportedCurrencies:
                      - currencyCode: PHP
                        minAmountMinor: '100'
                        maxAmountMinor: '500000000'
                    requiredCounterpartyFields:
                      - profile: FULL_NAME
                        mandatory: true
                      - profile: BIRTH_DATE
                        mandatory: true
        '400':
          description: Invalid PPV receiver lookup request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceiverLookupPpvErrorResponse'
              examples:
                invalidInput:
                  value:
                    status: 400
                    code: INVALID_REQUEST
                    message: Invalid PPV receiver lookup request.
                    details:
                      ppvAddress: must be a non-empty PPV address
        '401':
          description: Invalid or missing API credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceiverLookupPpvErrorResponse'
              examples:
                unauthorized:
                  value:
                    status: 401
                    code: UNAUTHORIZED
                    message: Invalid or missing API credentials
                    details: {}
        '404':
          description: Receiver not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceiverLookupPpvErrorResponse'
              examples:
                receiverNotFound:
                  value:
                    status: 404
                    code: RECEIVER_NOT_FOUND
                    message: Receiver not found
                    details: {}
        '500':
          description: Internal service error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceiverLookupPpvErrorResponse'
              examples:
                internalServiceError:
                  value:
                    status: 500
                    code: INTERNAL_ERROR
                    message: Internal service error
                    details: {}
      security:
        - BasicAuth: []
components:
  parameters:
    PpvAddress:
      name: ppvAddress
      in: path
      required: true
      description: >-
        Receiver PPV address in plain `localPart@ppvDomain` format, used for
        PPV-first lookup before quote creation.
      schema:
        type: string
  schemas:
    ReceiverLookupPpvMvpResponse:
      type: object
      additionalProperties: false
      required:
        - lookupId
        - ppvAddress
        - supportedCurrencies
        - requiredCounterpartyFields
      properties:
        lookupId:
          type: string
          description: >-
            Lookup-context handle required by POST /quotes in the public PPV
            quote flow.
        ppvAddress:
          type: string
          description: Public PPV address in plain `localPart@ppvDomain` format.
        supportedCurrencies:
          type: array
          description: Supported quote currencies and bounds for this resolved PPV address.
          items:
            $ref: '#/components/schemas/ReceiverLookupPpvMvpSupportedCurrency'
        requiredCounterpartyFields:
          type: array
          description: >-
            Bounded counterparty-field checklist required before quote creation
            can continue, using the same `profile` + `mandatory` vocabulary as
            `/config`.
          items:
            $ref: '#/components/schemas/ReceiverLookupRequiredCounterpartyField'
    ReceiverLookupPpvErrorResponse:
      type: object
      description: Standard public error envelope for PPV-first receiver lookup failures.
      additionalProperties: false
      required:
        - status
        - code
        - message
        - details
      properties:
        status:
          type: integer
          description: >-
            HTTP status code returned for the failed PPV receiver lookup
            request.
        code:
          type: string
          description: Stable public error code for the failed PPV receiver lookup request.
        message:
          type: string
          description: Human-readable summary of the PPV receiver lookup failure.
        details:
          type: object
          nullable: true
          additionalProperties: true
          description: Additional structured error context when present.
    ReceiverLookupPpvMvpSupportedCurrency:
      type: object
      additionalProperties: false
      required:
        - currencyCode
        - minAmountMinor
        - maxAmountMinor
      properties:
        currencyCode:
          type: string
          description: Supported receiver currency code for the resolved PPV address.
        minAmountMinor:
          type: string
          description: >-
            Minimum supported quote amount in minor units for this receiver
            currency.
        maxAmountMinor:
          type: string
          description: >-
            Maximum supported quote amount in minor units for this receiver
            currency.
    ReceiverLookupRequiredCounterpartyField:
      type: object
      additionalProperties: false
      required:
        - profile
        - mandatory
      properties:
        profile:
          type: string
          enum:
            - FULL_NAME
            - BIRTH_DATE
            - NATIONALITY
            - EMAIL
            - PHONE_NUMBER
            - POSTAL_ADDRESS
            - TAX_ID
          description: >-
            Counterparty profile field required for supported flows in this
            configuration.
        mandatory:
          type: boolean
          description: >-
            Whether this counterparty profile field must be supplied before
            execution can proceed. `false` means the field is optional metadata
            in the frozen MVP contract.
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
      description: >-
        Integration-key Basic Auth (`clientId:clientSecret`) as documented in
        docs/public/AUTHENTICATION.md.

````