curl --request POST \
--url https://api.getovra.com/mpp/settle \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"intentId": "int_7Kx9mQ3pR2nL4sT",
"agentId": "ag_abc123",
"expectedAmountCents": "1999",
"expectedCurrency": "eur",
"merchant": "api.example.com"
}
'{
"transactionId": "tx_abc123",
"intentId": "int_7Kx9mQ3pR2nL4sT",
"amountEuros": 19.99,
"status": "settled"
}Settles a payment initiated via the Machine Payments Protocol (HTTP 402). The agent creates and approves an Ovra intent, then the receiving service calls this endpoint to complete the settlement. Intent IDs are crypto-random and single-use — knowing the ID proves the agent authorized the payment (same pattern as Stripe PaymentIntents).
This endpoint does not require Authorization headers — the intent ID serves as proof.
curl --request POST \
--url https://api.getovra.com/mpp/settle \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"intentId": "int_7Kx9mQ3pR2nL4sT",
"agentId": "ag_abc123",
"expectedAmountCents": "1999",
"expectedCurrency": "eur",
"merchant": "api.example.com"
}
'{
"transactionId": "tx_abc123",
"intentId": "int_7Kx9mQ3pR2nL4sT",
"amountEuros": 19.99,
"status": "settled"
}API key (sk_...) or Agent token (at_...)
Approved Ovra intent ID (crypto-random, single-use)
"int_7Kx9mQ3pR2nL4sT"
Ovra agent ID that authorized the payment
"ag_abc123"
Expected amount in smallest currency unit (cents for EUR)
"1999"
ISO currency code (lowercase)
"eur"
Merchant or service identifier
"api.example.com"