Pular para o conteúdo principal
POST
/
api
/
v1
/
br
/
loan-accounts
/
{id}
/
pdd-stage
/
transitions
Aplicar transição de estágio PDD da conta de empréstimo
curl --request POST \
  --url https://lender.sandbox.lerian.net/api/v1/br/loan-accounts/{id}/pdd-stage/transitions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "businessDate": "<string>",
  "effectiveAt": "<string>",
  "idempotencyKey": "<string>",
  "jurisdictionCode": "<string>",
  "profileVersion": "<string>",
  "reason": "<string>",
  "triggeredBy": "<string>"
}
'
import requests

url = "https://lender.sandbox.lerian.net/api/v1/br/loan-accounts/{id}/pdd-stage/transitions"

payload = {
"businessDate": "<string>",
"effectiveAt": "<string>",
"idempotencyKey": "<string>",
"jurisdictionCode": "<string>",
"profileVersion": "<string>",
"reason": "<string>",
"triggeredBy": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

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

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
businessDate: '<string>',
effectiveAt: '<string>',
idempotencyKey: '<string>',
jurisdictionCode: '<string>',
profileVersion: '<string>',
reason: '<string>',
triggeredBy: '<string>'
})
};

fetch('https://lender.sandbox.lerian.net/api/v1/br/loan-accounts/{id}/pdd-stage/transitions', 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://lender.sandbox.lerian.net/api/v1/br/loan-accounts/{id}/pdd-stage/transitions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'businessDate' => '<string>',
'effectiveAt' => '<string>',
'idempotencyKey' => '<string>',
'jurisdictionCode' => '<string>',
'profileVersion' => '<string>',
'reason' => '<string>',
'triggeredBy' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

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

curl_close($curl);

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

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

func main() {

url := "https://lender.sandbox.lerian.net/api/v1/br/loan-accounts/{id}/pdd-stage/transitions"

payload := strings.NewReader("{\n \"businessDate\": \"<string>\",\n \"effectiveAt\": \"<string>\",\n \"idempotencyKey\": \"<string>\",\n \"jurisdictionCode\": \"<string>\",\n \"profileVersion\": \"<string>\",\n \"reason\": \"<string>\",\n \"triggeredBy\": \"<string>\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://lender.sandbox.lerian.net/api/v1/br/loan-accounts/{id}/pdd-stage/transitions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"businessDate\": \"<string>\",\n \"effectiveAt\": \"<string>\",\n \"idempotencyKey\": \"<string>\",\n \"jurisdictionCode\": \"<string>\",\n \"profileVersion\": \"<string>\",\n \"reason\": \"<string>\",\n \"triggeredBy\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://lender.sandbox.lerian.net/api/v1/br/loan-accounts/{id}/pdd-stage/transitions")

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

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"businessDate\": \"<string>\",\n \"effectiveAt\": \"<string>\",\n \"idempotencyKey\": \"<string>\",\n \"jurisdictionCode\": \"<string>\",\n \"profileVersion\": \"<string>\",\n \"reason\": \"<string>\",\n \"triggeredBy\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "accrualState": "<string>",
  "businessDate": "<string>",
  "currentStage": "<string>",
  "effectiveAt": "<string>",
  "jurisdictionCode": "<string>",
  "latestTransitionId": "<string>",
  "loanAccountId": "<string>",
  "profileVersion": "<string>",
  "reason": "<string>",
  "triggeredBy": "<string>",
  "updatedAt": "<string>",
  "latestTransition": {
    "accrualState": "<string>",
    "businessDate": "<string>",
    "createdAt": "<string>",
    "effectiveAt": "<string>",
    "fromStage": "<string>",
    "id": "<string>",
    "jurisdictionCode": "<string>",
    "profileVersion": "<string>",
    "reason": "<string>",
    "toStage": "<string>",
    "triggeredBy": "<string>"
  }
}
{
"code": "<string>",
"detail": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "<string>",
"status": 123,
"title": "<string>",
"type": "about:blank"
}

Autorizações

Authorization
string
header
obrigatório

JWT bearer token issued by the identity provider.

Parâmetros de caminho

id
string<uuid>
obrigatório

Loan account identifier.

Corpo

application/json
businessDate
string
obrigatório

Business date (YYYY-MM-DD or RFC3339).

Exemplo:

"2026-06-14"

effectiveAt
string
obrigatório

Effective timestamp (RFC3339 or YYYY-MM-DD).

Exemplo:

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

toStage
enum<string>
obrigatório

Target PDD stage.

Opções disponíveis:
current,
stage_1,
stage_2,
stage_3
Exemplo:

"stage_1"

idempotencyKey
string

Client-supplied idempotency key; deduplicated at the persistence layer.

Maximum string length: 128
jurisdictionCode
string

Jurisdiction code.

Maximum string length: 8
Exemplo:

"BR"

profileVersion
string

Jurisdiction profile version.

Maximum string length: 64
Exemplo:

"1.0.0"

reason
string

Reason for the transition or cure.

Maximum string length: 512
triggeredBy
string

Actor or system that triggered the transition.

Maximum string length: 128

Resposta

OK

accrualState
string
obrigatório

Interest accrual state implied by the current stage: accruing or suspended.

Exemplo:

"accruing"

businessDate
string
obrigatório

Business date the current stage applies to (YYYY-MM-DD, UTC).

Exemplo:

"2026-06-14"

currentStage
string
obrigatório

Current PDD delinquency stage: one of current, stage_1, stage_2, stage_3.

Exemplo:

"stage_1"

effectiveAt
string
obrigatório

RFC3339 UTC timestamp at which the current stage became effective.

Exemplo:

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

jurisdictionCode
string
obrigatório

ISO jurisdiction code governing the staging (e.g. "BR").

Exemplo:

"BR"

latestTransitionId
string
obrigatório

UUID of the most recent PDD stage transition applied to the account.

Exemplo:

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

loanAccountId
string
obrigatório

UUID of the loan account whose PDD staging state is reported.

Exemplo:

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

profileVersion
string
obrigatório

Jurisdiction profile version in effect for the staging rules.

Exemplo:

"1.0.0"

reason
string
obrigatório

Reason recorded for entering the current stage.

triggeredBy
string
obrigatório

Actor or system that triggered the current stage.

updatedAt
string
obrigatório

RFC3339 UTC timestamp when the staging state was last updated.

Exemplo:

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

latestTransition
object

Detail of the most recent stage transition; omitted when no transition exists.