Query Cash In by ID
Queries the status and details of a PIX transaction by transaction ID.
Endpoint
GET /api/v2/external/transactions/:idHeaders
| Header | Type | Required | Description |
|---|---|---|---|
Authorization | String | Yes | Bearer {access_token} |
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | String | Yes | Transaction ID (transaction_id) |
Example
bash
curl -X GET https://api.owem.com.br/api/v2/external/transactions/PIXIN20260307a1b2c3d4e5f6 \
-H "Authorization: Bearer $TOKEN"Success Response (200)
json
{
"worked": true,
"data": {
"id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"transaction_id": "PIXIN20260307a1b2c3d4e5f6",
"end_to_end_id": "E37839059202603071530000001",
"type": "pix",
"status": "completed",
"amount": 10000,
"fee_amount": 0,
"net_amount": 10000,
"description": "Order #1234",
"direction": "inbound",
"counterparty_name": "Maria Santos",
"created_at": "2026-03-07T15:30:00Z",
"completed_at": "2026-03-07T15:30:02Z"
}
}| Field | Type | Description |
|---|---|---|
worked | Boolean | true indicates operation success |
data.id | String | Internal transaction UUID |
data.transaction_id | String | Public transaction identifier |
data.end_to_end_id | String | BACEN End-to-End ID (E2E) |
data.type | String | Transaction type (pix) |
data.status | String | Current status (see table below) |
data.amount | Integer | Amount in cents |
data.fee_amount | Integer | Fee amount in cents |
data.net_amount | Integer | Net amount in cents |
data.description | String | Transaction description |
data.direction | String | inbound for receipts |
data.counterparty_name | String | Payer name |
data.created_at | String | Creation date (ISO 8601) |
data.completed_at | String | Completion date (ISO 8601), null if pending |
Possible Statuses
| Status | Description |
|---|---|
pending | Awaiting payment |
processing | Payment in processing |
completed | Payment confirmed |
failed | Payment failed |
cancelled | Charge cancelled or expired |
Error Response (404)
json
{
"worked": false,
"detail": "Transaction not found"
}Error Response (401)
json
{
"worked": false,
"detail": "Invalid or expired token"
}Polling vs Webhook
To track charge status, prefer using Webhooks instead of polling. If you need to query, use intervals of at least 5 seconds.