Skip to main content
POST
/
api
/
v1
/
dict
/
infractions
/
{id}
/
acknowledge
Acknowledge DICT infraction
curl --request POST \
  --url https://spi.sandbox.lerian.net/api/v1/dict/infractions/{id}/acknowledge \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://spi.sandbox.lerian.net/api/v1/dict/infractions/{id}/acknowledge"

headers = {"Authorization": "Bearer <token>"}

response = requests.post(url, headers=headers)

print(response.text)
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};

fetch('https://spi.sandbox.lerian.net/api/v1/dict/infractions/{id}/acknowledge', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://spi.sandbox.lerian.net/api/v1/dict/infractions/{id}/acknowledge",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://spi.sandbox.lerian.net/api/v1/dict/infractions/{id}/acknowledge"

req, _ := http.NewRequest("POST", 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))

}
HttpResponse<String> response = Unirest.post("https://spi.sandbox.lerian.net/api/v1/dict/infractions/{id}/acknowledge")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://spi.sandbox.lerian.net/api/v1/dict/infractions/{id}/acknowledge")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "createdAt": "<string>",
  "endToEndId": "<string>",
  "id": "<string>",
  "reason": "<string>",
  "reportStatus": "<string>",
  "reportedByISPB": "<string>",
  "status": "<string>",
  "updatedAt": "<string>"
}
{
"code": "<string>",
"detail": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "<string>",
"status": 123,
"title": "<string>",
"type": "about:blank"
}

Authorizations

Authorization
string
header
required

JWT bearer token issued by the identity provider.

Path Parameters

id
string
required

Infraction UUID

Response

OK

Persisted local DICT infraction record

createdAt
string
required

Record creation timestamp (RFC 3339, UTC)

Example:

"2026-06-14T12:00:00Z"

endToEndId
string
required

BACEN end-to-end identifier (E2E ID) of the disputed PIX transaction

Example:

"E1234567820260614ABCDEFGHIJKLMNO"

id
string
required

Server-assigned infraction record UUID

Example:

"550e8400-e29b-41d4-a716-446655440000"

reason
string
required

Free-text justification for the infraction report

reportStatus
string
required

BACEN report delivery state: PENDING, SENT, or FAILED (FAILED is retryable; the local record stands)

Example:

"SENT"

reportedByISPB
string
required

ISPB (8 numeric digits) of the participant that reported the infraction

Example:

"12345678"

status
string
required

Local infraction lifecycle state: OPEN, ACKNOWLEDGED, CLOSED, or CANCELLED

Example:

"OPEN"

updatedAt
string
required

Last update timestamp (RFC 3339, UTC)

Example:

"2026-06-14T12:00:00Z"