v2.59.0 — Downloading the onboarding evidence files

  • GET /v1/accreditations/{accreditationId}/artifacts. Lists the evidence archived for the accreditation — the company PDFs you uploaded, the evidence set signed by the identity provider (unico_evidence_set) and the holder selfie (unico_selfie) — each item already carrying a pre-signed downloadUrl (~10 min). Details in the onboarding guide.
  • Two switches, because the endpoint delivers biometrics. The kyc_artifacts feature must be enabled for the tenant (it requires a contractual clause; without it the answer is 403 feature_disabled) and the credential needs the new kyc.read scope. The generic read is deliberately not accepted: no existing key started downloading customer faces on deploy day.
  • downloadUrl only with scanStatus: APPROVED, the same rule as MED attachments — while the antivirus has not finished, the item shows up in the list without a link.
  • In the backoffice, the accreditation detail gained an “Evidence files” section for whoever holds backoffice:accreditations. Only the feature applies there: scopes are a concept of integration credentials.

v2.59.1 — Overdue boletos are payable again

  • The boleto preview was returning the wrong amount. POST .../boleto/preview reported the face value — the number encoded in the barcode — as the amount to pay. On an overdue slip that is not what the settlement bank accepts, so paying with it failed with boleto_amount_mismatch and the slip went unpaid. The preview now returns totalUpdated with face + interest + fine − discount, and that is the value to send to POST .../boleto/pay. It changes every day: query it on the day you pay, and fund the account for the updated amount, not the face value.
  • The preview response is now the one the documentation always described. Fields came out in PascalCase (Amount, OriginalAmount) and totalUpdated did not exist. They are now type, bank, bankCode, receiverName, receiverTaxId, payerName, payerTaxId, dueDate, amount (face value), discountAmount, interestAmount, fineAmount, totalUpdated, barcode, digitableLine and status. The issuing bank’s name and code, which came back empty, are back too.
  • The amount-mismatch rejection now tells you the amount. The boleto_amount_mismatch message carries the slip’s updated amount — until now the number lived only in the partner block, and the message merely said it did not match.
  • Rejected boletos stopped vanishing. When the settlement bank rejects the submission, GET .../boleto/payments/{paymentId} used to answer 404; it now answers 200 with status: "FAILED" and errorMessage. Anyone not subscribed to the boleto.paid/boleto.failed webhooks had no way to learn the outcome.
  • amount is documented as required on POST .../boleto/pay. It always was — the OpenAPI spec and the Postman collection are what omitted the field.