Skip to main content
POST
/
quotes
Create lookup-backed PPV quote.
curl --request POST \
  --url https://{publicHost}/quotes \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "lookupId": "lookup_replace_with_fresh_receiver_lookup",
  "source": {
    "accountId": "InternalAccount:replace_with_sender_internal_account"
  },
  "destination": {
    "ppvAddress": "demo-customer@demo.blips.test",
    "currency": "PHP"
  },
  "lockedCurrencySide": "SENDING",
  "lockedCurrencyAmount": "10000",
  "description": "Cross-border customer send",
  "senderCustomerInfo": {
    "FULL_NAME": "Alice Zhang"
  }
}
'
{
  "quoteId": "Quote:quote_123",
  "transactionId": "txn_quote_001",
  "status": "PENDING",
  "createdAt": "2026-04-05T12:00:00Z",
  "expiresAt": "2026-04-05T12:05:00Z",
  "lockedCurrencySide": "SENDING",
  "lockedCurrencyAmount": "10000",
  "sendingAmount": {
    "currencyCode": "USD",
    "amountMinor": "10000"
  },
  "receivingAmount": {
    "currencyCode": "PHP",
    "amountMinor": "542300"
  },
  "feesTotal": {
    "currencyCode": "USD",
    "amountMinor": "180"
  },
  "exchangeRate": "54.23000000"
}

Authorizations

Authorization
string
header
required

Integration-key Basic Auth (clientId:clientSecret) as documented in docs/public/AUTHENTICATION.md.

Body

application/json

Frozen MVP public quote-create request: lookup-backed internal-account to PPV-address quote creation only.

lookupId
string
required

Fresh receiver lookup handle returned by the earlier receiver lookup step.

source
object
required

Sender-side source account for the quote.

destination
object
required

Lookup-backed PPV destination for the quote.

lockedCurrencySide
enum<string>
required

Which side of the quote is locked: SENDING for send-fixed or RECEIVING for receive-fixed.

Available options:
SENDING,
RECEIVING
lockedCurrencyAmount
string
required

Locked amount in minor units on the selected locked currency side.

Pattern: ^[0-9]+$
description
string

Optional business description stored with the quote request.

senderCustomerInfo
object

Additional payer/customer information required by the lookup context, keyed by field name.

Response

Lookup-backed PPV quote created.

Frozen MVP public quote-create response for the lookup-backed PPV quote lock and the linked public transaction flow.

quoteId
string
required

Stable BLIPS quote identifier.

transactionId
string
required

Public transaction identifier reserved for the linked execute and transaction readback flow.

status
enum<string>
required

Current public quote lifecycle status after create.

Available options:
PENDING,
PROCESSING,
COMPLETED,
FAILED,
EXPIRED
createdAt
string<date-time>
required

Quote creation timestamp.

expiresAt
string<date-time>
required

RFC 3339 timestamp when this quote expires.

lockedCurrencySide
enum<string>
required

Which side of the quote amount is locked.

Available options:
SENDING,
RECEIVING
lockedCurrencyAmount
string
required

Locked amount in minor units on the locked currency side.

Pattern: ^[0-9]+$
sendingAmount
object
required

Quoted sender-side amount.

receivingAmount
object
required

Quoted receiver-side amount.

feesTotal
object
required

Total quoted fees.

exchangeRate
string
required

Effective quoted exchange rate from sendingAmount to receivingAmount.