curl --request POST \
--url https://api.sandbox.raas-widgets.leapfinancial.com/partner/pre-quote-lite \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"originCountryCode": "US",
"destinationCountryCode": "MX",
"amount": 1000,
"anchor": "send",
"destinationCurrency": "MXN",
"sourceCurrency": "USD",
"fundingMethod": "DEBIT_CARD",
"payoutMethod": "CASH_PICKUP",
"payerCode": "OXXO",
"vary": "payer",
"include": [
"summary",
"facets"
]
}
'import requests
url = "https://api.sandbox.raas-widgets.leapfinancial.com/partner/pre-quote-lite"
payload = {
"originCountryCode": "US",
"destinationCountryCode": "MX",
"amount": 1000,
"anchor": "send",
"destinationCurrency": "MXN",
"sourceCurrency": "USD",
"fundingMethod": "DEBIT_CARD",
"payoutMethod": "CASH_PICKUP",
"payerCode": "OXXO",
"vary": "payer",
"include": ["summary", "facets"]
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
originCountryCode: 'US',
destinationCountryCode: 'MX',
amount: 1000,
anchor: 'send',
destinationCurrency: 'MXN',
sourceCurrency: 'USD',
fundingMethod: 'DEBIT_CARD',
payoutMethod: 'CASH_PICKUP',
payerCode: 'OXXO',
vary: 'payer',
include: ['summary', 'facets']
})
};
fetch('https://api.sandbox.raas-widgets.leapfinancial.com/partner/pre-quote-lite', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sandbox.raas-widgets.leapfinancial.com/partner/pre-quote-lite",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'originCountryCode' => 'US',
'destinationCountryCode' => 'MX',
'amount' => 1000,
'anchor' => 'send',
'destinationCurrency' => 'MXN',
'sourceCurrency' => 'USD',
'fundingMethod' => 'DEBIT_CARD',
'payoutMethod' => 'CASH_PICKUP',
'payerCode' => 'OXXO',
'vary' => 'payer',
'include' => [
'summary',
'facets'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sandbox.raas-widgets.leapfinancial.com/partner/pre-quote-lite"
payload := strings.NewReader("{\n \"originCountryCode\": \"US\",\n \"destinationCountryCode\": \"MX\",\n \"amount\": 1000,\n \"anchor\": \"send\",\n \"destinationCurrency\": \"MXN\",\n \"sourceCurrency\": \"USD\",\n \"fundingMethod\": \"DEBIT_CARD\",\n \"payoutMethod\": \"CASH_PICKUP\",\n \"payerCode\": \"OXXO\",\n \"vary\": \"payer\",\n \"include\": [\n \"summary\",\n \"facets\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sandbox.raas-widgets.leapfinancial.com/partner/pre-quote-lite")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"originCountryCode\": \"US\",\n \"destinationCountryCode\": \"MX\",\n \"amount\": 1000,\n \"anchor\": \"send\",\n \"destinationCurrency\": \"MXN\",\n \"sourceCurrency\": \"USD\",\n \"fundingMethod\": \"DEBIT_CARD\",\n \"payoutMethod\": \"CASH_PICKUP\",\n \"payerCode\": \"OXXO\",\n \"vary\": \"payer\",\n \"include\": [\n \"summary\",\n \"facets\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.raas-widgets.leapfinancial.com/partner/pre-quote-lite")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"originCountryCode\": \"US\",\n \"destinationCountryCode\": \"MX\",\n \"amount\": 1000,\n \"anchor\": \"send\",\n \"destinationCurrency\": \"MXN\",\n \"sourceCurrency\": \"USD\",\n \"fundingMethod\": \"DEBIT_CARD\",\n \"payoutMethod\": \"CASH_PICKUP\",\n \"payerCode\": \"OXXO\",\n \"vary\": \"payer\",\n \"include\": [\n \"summary\",\n \"facets\"\n ]\n}"
response = http.request(request)
puts response.read_bodyPre-quote lite (indicative range)
Returns an indicative pricing summary for the authenticated partner: best option, worst option, and averages over offerable candidates. Does not return the full options list. Never binding — use the widget quote flow to obtain a signed quote before creating an operation. When no candidates are offerable, returns count: 0 without best/worst. Pass include: [“payers”] to also receive one row per priced payer (payerCode null means any bank). The default response has no payers key.
curl --request POST \
--url https://api.sandbox.raas-widgets.leapfinancial.com/partner/pre-quote-lite \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"originCountryCode": "US",
"destinationCountryCode": "MX",
"amount": 1000,
"anchor": "send",
"destinationCurrency": "MXN",
"sourceCurrency": "USD",
"fundingMethod": "DEBIT_CARD",
"payoutMethod": "CASH_PICKUP",
"payerCode": "OXXO",
"vary": "payer",
"include": [
"summary",
"facets"
]
}
'import requests
url = "https://api.sandbox.raas-widgets.leapfinancial.com/partner/pre-quote-lite"
payload = {
"originCountryCode": "US",
"destinationCountryCode": "MX",
"amount": 1000,
"anchor": "send",
"destinationCurrency": "MXN",
"sourceCurrency": "USD",
"fundingMethod": "DEBIT_CARD",
"payoutMethod": "CASH_PICKUP",
"payerCode": "OXXO",
"vary": "payer",
"include": ["summary", "facets"]
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
originCountryCode: 'US',
destinationCountryCode: 'MX',
amount: 1000,
anchor: 'send',
destinationCurrency: 'MXN',
sourceCurrency: 'USD',
fundingMethod: 'DEBIT_CARD',
payoutMethod: 'CASH_PICKUP',
payerCode: 'OXXO',
vary: 'payer',
include: ['summary', 'facets']
})
};
fetch('https://api.sandbox.raas-widgets.leapfinancial.com/partner/pre-quote-lite', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sandbox.raas-widgets.leapfinancial.com/partner/pre-quote-lite",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'originCountryCode' => 'US',
'destinationCountryCode' => 'MX',
'amount' => 1000,
'anchor' => 'send',
'destinationCurrency' => 'MXN',
'sourceCurrency' => 'USD',
'fundingMethod' => 'DEBIT_CARD',
'payoutMethod' => 'CASH_PICKUP',
'payerCode' => 'OXXO',
'vary' => 'payer',
'include' => [
'summary',
'facets'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sandbox.raas-widgets.leapfinancial.com/partner/pre-quote-lite"
payload := strings.NewReader("{\n \"originCountryCode\": \"US\",\n \"destinationCountryCode\": \"MX\",\n \"amount\": 1000,\n \"anchor\": \"send\",\n \"destinationCurrency\": \"MXN\",\n \"sourceCurrency\": \"USD\",\n \"fundingMethod\": \"DEBIT_CARD\",\n \"payoutMethod\": \"CASH_PICKUP\",\n \"payerCode\": \"OXXO\",\n \"vary\": \"payer\",\n \"include\": [\n \"summary\",\n \"facets\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sandbox.raas-widgets.leapfinancial.com/partner/pre-quote-lite")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"originCountryCode\": \"US\",\n \"destinationCountryCode\": \"MX\",\n \"amount\": 1000,\n \"anchor\": \"send\",\n \"destinationCurrency\": \"MXN\",\n \"sourceCurrency\": \"USD\",\n \"fundingMethod\": \"DEBIT_CARD\",\n \"payoutMethod\": \"CASH_PICKUP\",\n \"payerCode\": \"OXXO\",\n \"vary\": \"payer\",\n \"include\": [\n \"summary\",\n \"facets\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.raas-widgets.leapfinancial.com/partner/pre-quote-lite")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"originCountryCode\": \"US\",\n \"destinationCountryCode\": \"MX\",\n \"amount\": 1000,\n \"anchor\": \"send\",\n \"destinationCurrency\": \"MXN\",\n \"sourceCurrency\": \"USD\",\n \"fundingMethod\": \"DEBIT_CARD\",\n \"payoutMethod\": \"CASH_PICKUP\",\n \"payerCode\": \"OXXO\",\n \"vary\": \"payer\",\n \"include\": [\n \"summary\",\n \"facets\"\n ]\n}"
response = http.request(request)
puts response.read_bodyAuthorizations
Your partner API key. Use raas_sandbox_* keys for the sandbox environment and raas_live_* keys for production.
Body
Origin country
"US"
Destination country
"MX"
Pinned amount, interpreted per anchor (source ccy for send, destination ccy for receive).
1000
Which side is pinned. 'send' fixes the source amount; 'receive' fixes the destination amount and the engine inverts it.
send, receive Destination currency. When omitted, the engine enumerates every currency each candidate SKU declares (one option per payer x currency) and ranks them by the currency-agnostic 'routeScore'.
"MXN"
Source currency
Funding method (the pull leg). Required for the payer axis.
"DEBIT_CARD"
Payout method (the push leg).
"CASH_PICKUP"
Optional canonical catalog payer code. When set, only SKUs for this payer are priced (e.g. OXXO). Omit to fan out across all quotable payers.
"OXXO"
Grouping axis. 'payer' iterates payers (one option per payer); 'fundingMethod' iterates supported funding methods (cheapest per method).
payer, fundingMethod Response projection. Omit to keep the legacy shape { options, summary } (byte-identical). Pass ["summary","facets"] to discover quotable funding methods / payouts / payers without shipping the full options list. facets are computed BEFORE the vary-axis collapse, so every offerable funding method appears even when vary=payer keeps only the cheapest option per payer. payers is partner pre-quote-lite only: one row per priced payer (payerCode: null = any bank). The widget ignores it.
options, summary, facets, payers ["summary", "facets"]
Response
Indicative summary computed successfully