Get STR message detail
curl --request GET \
--url https://api.example.com/v1/str/messages/{nuOp} \
--header 'Authorization: Bearer <token>'package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/str/messages/{nuOp}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/v1/str/messages/{nuOp}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.example.com/v1/str/messages/{nuOp}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"correlationId": "req-7a3f9c2e",
"message": {
"createdAt": "2026-05-04T18:29:55Z",
"direction": "OUTBOUND",
"messageType": "STR0004",
"nuOp": "12345678202605040000001",
"amount": "150.00",
"confirmedAt": "2026-05-04T18:30:05Z",
"controlNumber": "20260503000000000001",
"description": "Wire transfer for invoice 2026-Q2-A47",
"mqMessageId": "414d5120514d2020202020202020202060f0c2a201a30b25",
"originalControlNumber": "20260503000000000042",
"originalNuOp": "12345678202605040000001",
"purposeCode": "00001",
"recipientIspb": "00038166",
"resolvedAt": "2026-05-04T18:30:05Z",
"senderIspb": "12345678",
"status": "DELIVERED",
"strRejectReason": "AB03",
"strStatus": "Acatado",
"submittedAt": "2026-05-04T18:30:00Z"
},
"payload": {},
"payloadFormat": "reconstructed",
"correspondent": {
"createdAt": "2026-05-04T18:30:02Z",
"direction": "INBOUND",
"messageType": "STR0004R2",
"nuOp": "12345678202605040000001",
"status": "RECEIVED",
"amount": "150.00",
"controlNumber": "20260503000000000001",
"strStatus": "Acatado"
}
}{
"correlationId": "req-7a3f9c2e",
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}{
"correlationId": "req-7a3f9c2e",
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}{
"correlationId": "req-7a3f9c2e",
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}{
"correlationId": "req-7a3f9c2e",
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}{
"correlationId": "req-7a3f9c2e",
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}{
"correlationId": "req-7a3f9c2e",
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}{
"correlationId": "req-7a3f9c2e",
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}{
"correlationId": "req-7a3f9c2e",
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}Get STR message detail
Returns the message-log detail for an STR message identified by its NUOp: the status and BACEN-receipt fields, the structured payload, and the resolved original<->correspondent counterpart. The signed on-wire frame is NOT returned here — it is read at GET /v1/str/messages/{nuOp}/frame, guarded by its own scope; this body only labels whether one was retained (payloadFormat). Searches outbound messages first, then inbound ones by their own NUOp, then by the BACEN NUOp they arrived with (the nuOp str.operation.received carries). The NUOp is a 23-character BACEN identifier: ISPB[8]+DATE[8]+SEQ[7].
GET
/
v1
/
str
/
messages
/
{nuOp}
Get STR message detail
curl --request GET \
--url https://api.example.com/v1/str/messages/{nuOp} \
--header 'Authorization: Bearer <token>'package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/str/messages/{nuOp}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/v1/str/messages/{nuOp}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.example.com/v1/str/messages/{nuOp}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"correlationId": "req-7a3f9c2e",
"message": {
"createdAt": "2026-05-04T18:29:55Z",
"direction": "OUTBOUND",
"messageType": "STR0004",
"nuOp": "12345678202605040000001",
"amount": "150.00",
"confirmedAt": "2026-05-04T18:30:05Z",
"controlNumber": "20260503000000000001",
"description": "Wire transfer for invoice 2026-Q2-A47",
"mqMessageId": "414d5120514d2020202020202020202060f0c2a201a30b25",
"originalControlNumber": "20260503000000000042",
"originalNuOp": "12345678202605040000001",
"purposeCode": "00001",
"recipientIspb": "00038166",
"resolvedAt": "2026-05-04T18:30:05Z",
"senderIspb": "12345678",
"status": "DELIVERED",
"strRejectReason": "AB03",
"strStatus": "Acatado",
"submittedAt": "2026-05-04T18:30:00Z"
},
"payload": {},
"payloadFormat": "reconstructed",
"correspondent": {
"createdAt": "2026-05-04T18:30:02Z",
"direction": "INBOUND",
"messageType": "STR0004R2",
"nuOp": "12345678202605040000001",
"status": "RECEIVED",
"amount": "150.00",
"controlNumber": "20260503000000000001",
"strStatus": "Acatado"
}
}{
"correlationId": "req-7a3f9c2e",
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}{
"correlationId": "req-7a3f9c2e",
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}{
"correlationId": "req-7a3f9c2e",
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}{
"correlationId": "req-7a3f9c2e",
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}{
"correlationId": "req-7a3f9c2e",
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}{
"correlationId": "req-7a3f9c2e",
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}{
"correlationId": "req-7a3f9c2e",
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}{
"correlationId": "req-7a3f9c2e",
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}Parámetros de ruta
Respuesta
OK
Availability label for the signed on-wire frame: 'reconstructed' means a frame was retained for this message and is readable at GET /v1/str/messages/{nuOp}/frame (guarded by its own scope), 'structured' means no on-wire bytes were retained and only the payload fields above exist.
Opciones disponibles:
reconstructed, structured Ejemplo:
"reconstructed"
¿Esta página le ayudó?

