Skip to content

API Overview

The Owem Pay API allows you to integrate PIX payments into your system. All operations are authenticated via API Key + HMAC-SHA512 with mandatory IP Whitelist.

Base URL

EnvironmentURL
Productionhttps://api.owem.com.br
Homologationhttps://api-hml.owem.com.br

Authentication

Three independent security layers:

  1. IP Whitelist -- Source IP must be in the whitelist configured on the API Key
  2. API Key -- Header Authorization: ApiKey {client_id}:{client_secret} in all requests
  3. HMAC-SHA512 -- Request body signature (required for POST endpoints)

See Authentication and HMAC-SHA512 for details.

Format

FieldFormat
Content-Typeapplication/json
Request valuesIntegers in centavos (R$ 30.00 = 3000)
Response valuesIntegers in base units (R$ 30.00 = 300000, / 10,000 for BRL)
DatesISO 8601 (2026-03-09T15:30:00Z)
IDsUUID v4 or alphanumeric string
E2E IDE{ISPB}{YYYYMMDD}{HHMM}{6-digit-seq}

Value conversion

To send: multiply BRL by 100. R$ 30.00 = 3000. To read responses: divide by 10,000. 300000 / 10,000 = R$ 30.00. Never use floating point -- always integers.

Response Pattern

Success

json
{
  "worked": true,
  "transaction_id": "PIXOUT20260309abcdef123456",
  "status": "processing"
}

Error

json
{
  "worked": false,
  "detail": "Insufficient balance"
}

HTTP Codes

CodeMeaning
200Success
201Resource created (webhook)
400Invalid parameters
401Missing or invalid API Key / Invalid HMAC
403IP not authorized in whitelist
404Resource not found
422Validation failed (insufficient balance, invalid key)
429Rate limit exceeded
500Internal error

Rate Limiting

TypeLimit
Per IP (authenticated)60,000 requests/minute
Per IP (unauthenticated)5 requests/minute

Response headers:

X-RateLimit-Remaining: 59997
Retry-After: 3  (only when 429)

Idempotency

POST requests accept the Idempotency-Key header to prevent duplicate processing. The result is cached for 24 hours. If the same key is resent, the API returns the original response with the header X-Idempotent-Replay: true.

Idempotency-Key: unique-request-id-123

External ID

Optional external_id field (max 128 chars, alphanumeric + ._:-) accepted in cash-in and cash-out. Returned in responses and webhooks. Allows lookup by reference:

GET /api/external/transactions/ref/{external_id}

See Concepts for details.

Endpoints

PIX Cash Out (Send)

MethodEndpointDescription
POST/api/external/pix/cash-outSend PIX by key or copy-and-paste
POST/api/external/pix/cash-out/approveApprove pending cash-out

PIX Cash In (Receive)

MethodEndpointDescription
POST/api/external/pix/cash-inGenerate QR Code for receiving

Queries

MethodEndpointDescription
GET/api/external/transactionsList transactions
GET/api/external/transactions/:idQuery transaction by ID
GET/api/external/transactions/e2e/:e2e_idQuery by E2E ID
GET/api/external/transactions/tag/:tagQuery by tag (prefix)
GET/api/external/transactions/ref/:external_idQuery by external_id
GET/api/external/transactions/:id/receiptReceipt

Account

MethodEndpointDescription
GET/api/external/balanceAccount balance
GET/api/external/statementStatement

PIX Keys

MethodEndpointDescription
GET/api/external/pix/keysList account PIX keys

Refund

MethodEndpointDescription
POST/api/external/pix/refundPIX refund (total or partial)

MED

MethodEndpointDescription
GET/api/external/medList MEDs
GET/api/external/med/:idMED details

Validation

MethodEndpointDescription
POST/api/external/cpf/validateValidate CPF

Webhooks

MethodEndpointDescription
GET/api/external/webhooksList webhooks
POST/api/external/webhooksRegister webhook
DELETE/api/external/webhooks/:idRemove webhook

Owem Pay Instituição de Pagamento — ISPB 37839059