Retrieve order
Returns the full detail of an order: identity, status, payment deadline, the products frozen at submission (with their risk objects), the charge, the insured person and the event trail.
The order is the view of the sale. After emission (emitted), policies live as their own resource — retrieve them with GET /v1/insurance/policies?order_key=.
Request
Path params
| Parameter | Type | Required | Description |
|---|---|---|---|
order_key | string | required | Order key. |
Response
{
"order_key": "5e2b3f60-7c4b-4c8e-9f1a-6d2e8b4a7c90",
"status": "emitted",
"distribution_type": "direct",
"quote_data": {
"total_order_amount": 617.28,
"products": [
{
"order_product_key": "7f3a9c2e-0b5d-4e8a-a1c6-9d4b2e7f0a53",
"product_key": "9d1f8c7a-3b21-4e60-8a2f-1c5d7e9b0a44",
"product_category": "insurance",
"insurance_class": {
"name": "credit_life",
"class_number": "0977",
"group_number": "09"
},
"regulator_registration": "15414.900388/2015-21",
"contract_instrument_type": "ticket",
"gross_premium_amount": 617.28,
"iof_amount": 2.35,
"net_premium_amount": 614.93,
"term": {
"start_date": "2026-07-15",
"end_date": "2027-07-14"
},
"risk_object": {
"type": "credit_operation",
"insurable_value": 50000.00,
"attributes": {
"installment_amount": 1050.00,
"number_of_installments": 48
}
},
"services": [
{
"service_key": "0a3c5e7f-2b4d-4a6c-8e0f-1a3b5c7d9e2f",
"service_type": {
"code": "credit_life",
"name": "Prestamista (Credit Life)"
},
"service_category": "insurance",
"regulator_registration": null,
"gross_premium_amount": 617.28,
"insured_amount": 50000.00,
"unit_amount": null,
"unit_count": null,
"deductible_data": {
"deductible_type": "monetary_amount",
"value": 1500.00
},
"waiting_period_days": 30,
"service_attributes": {},
"term": {
"start_date": "2026-07-15",
"end_date": "2027-07-14"
}
}
]
}
]
},
"payment_data": {
"payment_method": "pix_automatic",
"installment_count": 12,
"installment_amount": 51.44,
"first_installment_amount": 51.44,
"first_due_date": "2026-07-23"
},
"customer": {
"document_number": "96969879003",
"name": "Maria Souza",
"email": "maria@example.com",
"phone_number": "+5511999990000",
"date_of_birth": "1987-03-22",
"occupation_code": "211205"
},
"events": [
{
"new_status": "emitted",
"at": "2026-07-16T14:03:22Z"
}
]
}
Response attributes
| Field | Type | Description |
|---|---|---|
order_key | string | Unique order key. |
status | string | Current status. See the lifecycle. |
expires_at | string | Deadline for the first installment payment (7 days from submission). null on a rejected order. |
distribution_type | string | Distribution model of the sale. Today always direct. |
payment_data | object | The order's charge — the same block returned on creation. The payment_artifact sub-object (the Pix QR) is re-exposed only while the order is awaiting_payment; on an emitted or terminal order it is omitted. null on a rejected order. |
quote_data | object | The products frozen at submission — the same block, with the same shape, returned by the order creation. |
quote_data.total_order_amount | number | Total order amount (sum of the products' gross premiums). |
customer | object | The order's insured person, as a flat object: document_number, name, email, phone_number, date_of_birth, occupation_code. Returned exactly as submitted — the date of birth is what the order froze; the age it was priced against was derived from it at submission and is not stored. The optional fields (occupation_code, address) only appear if they were sent: nothing is defaulted in, and the key is omitted rather than returned as null. |
events | array | Trail of order status changes, in chronological order. Each entry is { "new_status", "at" }. |
Object in quote_data.products
| Field | Type | Description |
|---|---|---|
order_product_key | string | Key of the product inside the order — the correlation with the policy produced at emission. |
product_key | string | Catalog key of the product. |
product_category | string | Product category: insurance, capitalization or benefit. |
insurance_class | object | Insurance class (line of business): { name, class_number, group_number }. null for non-insurance products. |
regulator_registration | string | Product registration with the regulator (e.g. SUSEP process). |
contract_instrument_type | string | The product's frozen contract instrument: ticket or policy. null for non-insurance products. |
gross_premium_amount | number | Product's gross premium (with IOF). |
iof_amount | number | Product's IOF. |
net_premium_amount | number | Product's net premium (without IOF). |
term | object | Product term, frozen at submission: { start_date, end_date }. Products in the same order may have different terms. |
risk_object | object | This product's frozen risk object (type, insurable_value, attributes). |
services | array | Frozen coverages — each with service_type ({ code, name }), service_category, regulator_registration, gross premium, insured amount, the per-unit pair (unit_amount / unit_count, null when the coverage is not unit-priced), deductible (deductible_data), waiting period (waiting_period_days), attributes and term (term). |
rejected order on the detail readAn order born rejected persists no products and no charge: the read returns an empty quote_data.products and a null payment_data, and does not repeat decline_reasons. The decline reasons are delivered exactly once, in the 201 of the submission — record them on your side.
Possible errors
Every error (non-2xx) returns the standard body { "title", "description", "translation", "code" } — programmatically handle only the code field.
| Status | Code | Description |
|---|---|---|
401 / 403 | — | Authentication or authorization failure. |
404 | ORD000001 | Order nonexistent or belonging to another integration — the cases are indistinguishable. |
500 / 503 | QIT000500 | Internal error or service unavailable — safe to retry. |