Bankslip Instructions
This endpoint allows you to send instructions to an already registered bankslip, such as a due date extension, an update of interest and fine, the inclusion of discounts, a rebate, a write-off and a protest request.
| Profile | Host | Required permission |
|---|---|---|
| Manager | manager-api | Read and write |
| Consultant | consultant-api | Granted by the integration team |
Base URL for each host: Environments (Hosts).
Only bankslips in pending_registration or registered, issued by QI Tech (configuration with issuer type internal; see bankslip configurations), accept instructions. For the others, the API returns BSC000009 (bankslip outside these statuses) or BSC000106 (another issuer).
Request
Path Parameters
| Field | Type | Description | Characters |
|---|---|---|---|
fund_class_key | uuidv4 | Unique identification key of the fund class, in the uuid v4 format | 36 |
bankslip_configuration_key | uuidv4 | Unique identification key of the bankslip configuration, in the uuid v4 format | 36 |
bankslip_key | uuidv4 | Unique identification key of the bankslip, in the uuid v4 format | 36 |
Request Body Params
The occurrence_type field defines which instruction will be sent to the bankslip. The occurrence_data field contains the specific data of the instruction, when applicable.
| Field | Type | Description | Characters |
|---|---|---|---|
occurrence_type | string | Type of the instruction to be sent to the bankslip. | occurrence_type enumerators |
occurrence_data | object | Data of the instruction. Required for the types that need extra parameters. | Varies according to the occurrence_type |
occurrence_type enumerators
| Enumerator | Description |
|---|---|
due_date_extension | Extension of the due date |
delay_interest_update | Update of the late payment interest |
delay_fine_update | Update of the late payment fine |
rebate | Application of a rebate |
rebate_withdrawn | Cancellation of the rebate |
discount_inclusion | Inclusion of discounts |
write_off | Write-off of the bankslip |
protest_request | Protest request |
Instruction: due_date_extension — Due Date Extension
Request Body
{
"occurrence_type": "due_date_extension",
"occurrence_data": {
"due_date": "2026-12-31"
}
}
occurrence_data object — due_date_extension
| Field | Type | Description | Characters |
|---|---|---|---|
due_date | string | New due date of the bankslip (YYYY-MM-DD format) | 10 |
Instruction: delay_interest_update — Late Payment Interest Update
Request Body
{
"occurrence_type": "delay_interest_update",
"occurrence_data": {
"interest": {
"method": "pre_fixed",
"pre_fixed": {
"monthly_rate": 0.015,
"calendar_base": "calendar_360"
}
}
}
}
occurrence_data object — delay_interest_update
| Field | Type | Description |
|---|---|---|
interest | object | Configuration of the late payment interest (see below). |
interest object
| Field | Type | Description |
|---|---|---|
method | string | Interest calculation method. Value: pre_fixed |
pre_fixed | object | Parameters for the pre-fixed interest calculation (see below). |
pre_fixed object
| Field | Type | Description |
|---|---|---|
monthly_rate | number | Monthly interest rate as a decimal (0.015 = 1.5% per month). |
calendar_base | string | Calendar base for the calculation. calendar_base enumerators |
calendar_base enumerators
| Enumerator | Description |
|---|---|
calendar_360 | 360-day base |
workdays | Business days |
calendar_365 | 365-day base |
Instruction: delay_fine_update — Late Payment Fine Update
Request Body
{
"occurrence_type": "delay_fine_update",
"occurrence_data": {
"fine": {
"fine_type": "percentage",
"percentage_value": 2.0
}
}
}
occurrence_data object — delay_fine_update
| Field | Type | Description |
|---|---|---|
fine | object | Configuration of the late payment fine (see below). |
fine object
| Field | Type | Description |
|---|---|---|
fine_type | string | Fine type. Value: percentage |
percentage_value | number | Percentage of the fine. It must be greater than 0. |
Instruction: rebate — Rebate
Request Body
{
"occurrence_type": "rebate",
"occurrence_data": {
"rebate": 50.00
}
}
occurrence_data object — rebate
| Field | Type | Description |
|---|---|---|
rebate | number | Value of the rebate to be applied. |
Instruction: rebate_withdrawn — Rebate Cancellation
This instruction does not require occurrence_data.
Request Body
{
"occurrence_type": "rebate_withdrawn"
}
Instruction: discount_inclusion — Inclusion of Discounts
Request Body
{
"occurrence_type": "discount_inclusion",
"occurrence_data": {
"discounts": [
{
"discount_type": "percentage",
"discount_number": 1,
"discount_limit_date": "2026-11-30",
"discount_amount": 5.0
}
]
}
}
occurrence_data object — discount_inclusion
| Field | Type | Description |
|---|---|---|
discounts | array | List of discounts to be applied (see below). |
discount object (item of the discounts array)
| Field | Type | Description | Characters |
|---|---|---|---|
discount_type | string | Discount type. discount_type enumerators | - |
discount_number | number | Sequential number of the discount. | - |
discount_limit_date | string | Limit date for the application of the discount (YYYY-MM-DD format). | 10 |
discount_amount | number | Value of the discount. | - |
discount_type enumerators
| Enumerator | Description |
|---|---|
absolute | Fixed value |
percentage | Fixed percentage |
anticipation_workdays_daily_amount | Daily anticipation value over business days |
anticipation_workdays_daily_percentage | Daily anticipation percentage over business days |
anticipation_calendar_days_daily_amount | Daily anticipation value over calendar days |
anticipation_calendar_days_daily_percentage | Daily anticipation percentage over calendar days |
Instruction: write_off — Bankslip Write-Off
This instruction does not require occurrence_data.
Request Body
{
"occurrence_type": "write_off"
}
Instruction: protest_request — Protest Request
Request Body
{
"occurrence_type": "protest_request",
"occurrence_data": {
"protest_type": "protest"
}
}
occurrence_data object — protest_request
| Field | Type | Description |
|---|---|---|
protest_type | string | Protest type. protest_type enumerators |
protest_type enumerators
| Enumerator | Description |
|---|---|
protest | Standard protest |
bankruptcy_protest | Bankruptcy protest |
Response
Response Body
{
"bankslip_key": "c9eb109c-800f-4cf5-b209-2119c9d77a72",
"external_participant_control_number": "801KFZFNB4UZ34MLGJG2X9WNG",
"bankslip_configuration": {
"bankslip_configuration_key": "1b382eb7-7006-4389-975b-afa76b0ad7b4",
"bankslip_profile": {
"bankslip_profile_key": "5910d4a3-f5df-432a-902f-849a1a77cd86",
"bankslip_profile_code": "329-09-0001-4993010",
"bankslip_profile_number": 1,
"bankslip_provider": "qi_scd",
"additional_information": {
"external_beneficiary_key": "2666e7a3-0bd7-46fc-8f6b-725f2ef9b13f"
},
"internal_account_key": "6b5335ed-1380-4348-9520-8998ca6e388b",
"fund_class": {
"fund_class_key": "7f03069e-1854-4cee-8e59-a6a548976015",
"document_number": "11.222.333/0001-81",
"name": "Sample Fund Class",
"manager": {
"name": "Sample Manager",
"manager_key": "5cb734e9-c33b-4e7e-bb40-f894aa82b153",
"document_number": "11.222.333/0001-81"
}
}
}
},
"due_date": "2026-12-31",
"face_value": 629.33,
"status": "registered",
"participant_control_number": "801KFZFNB4UZ34MLGJG2X9WNG",
"borrower": {
"document_number": "969.698.790-03",
"name": "Tomador Exemplo",
"person_type": "natural_person",
"address": {
"postal_code": "05425-020"
}
},
"assignor": {
"name": "Cedente LTDA",
"document_number": "33.444.555/0001-81",
"person_type": "legal_person"
},
"bankslip_type": "simple_collection",
"collection_type": "standard",
"delay": null,
"our_number": 12345,
"our_number_digit": "6",
"digitable_line": "32991.23456 78901.234567 89012.345678 9 00010000062933",
"barcode": "32999000010000062933123456789012345678901234",
"occurrences": [
{
"occurrence_key": "e9898e50-cd2b-492f-9201-7e5c5f231853",
"status": "pending_submission",
"type": "due_date_extension",
"occurrence_data": {
"due_date": "2026-12-31"
}
}
],
"settlement_instructions": [
{
"settlement_instruction_key": "fe419363-bf04-4b3a-90bd-185618baa720",
"status": "pending_bankslip_payment",
"asset_type": "duplicata_mercantil",
"asset_key": "22fc5c95-3622-48ad-b26a-99f8d0499e69",
"issue_date": "2025-01-17",
"maturity_date": "2026-12-31",
"face_value": 629.33,
"order_number": "49761-1"
}
]
}
Bankslip
| Field | Type | Description |
|---|---|---|
bankslip_key | string | Unique identifier of the bankslip. |
external_participant_control_number | string | External control number of the participant. |
bankslip_configuration | object | Configuration of the bankslip (see below). |
due_date | date | Due date of the bankslip. |
face_value | number | Nominal value of the bankslip. |
status | string | Current status of the bankslip. |
participant_control_number | string | Internal control number of the participant. |
borrower | object | Object representing the drawee (borrower). |
assignor | object | Object representing the assignor of the receivable. |
bankslip_type | string | Bankslip type: simple_collection or non_vinculated. |
collection_type | string | Collection type: standard or qr_code_allowed. |
delay | object | Late payment data of the bankslip, when applicable. |
order_number | string | Order number, when available. |
our_number | number | "Nosso número", when available. |
our_number_digit | string | Check digit of the "nosso número", when available. |
digitable_line | string | Digitable line of the bankslip, when available. |
barcode | string | Barcode of the bankslip, when available. |
occurrences | array | List of occurrences related to the bankslip (each item is an object). |
settlement_instructions | array | List of settlement instructions related to the bankslip. |
Bankslip Configuration
| Field | Type | Description |
|---|---|---|
bankslip_configuration_key | string | Configuration key of the bankslip. |
bankslip_profile | object | Associated bankslip profile. |
Bankslip Profile
| Field | Type | Description |
|---|---|---|
bankslip_profile_key | string | Identifier of the bankslip profile. |
bankslip_profile_code | string | Code of the profile. |
bankslip_profile_number | number | Number of the profile. |
bankslip_provider | string | Provider of the bankslip. |
additional_information | object | Additional information of the profile. |
internal_account_key | string | Identifier of the associated internal account. |
fund_class | object | Object representing the fund class (see below). |
Fund Class
| Field | Type | Description | Characters |
|---|---|---|---|
fund_class_key | string | Unique identification key of the fund class | 36 |
document_number | string | CNPJ of the fund class | - |
name | string | Name of the fund class | up to 255 |
Borrower
| Field | Type | Description |
|---|---|---|
name | string | Name of the drawee. |
document_number | string | Document (CPF/CNPJ). |
person_type | string | Person type. |
address | object | Address of the drawee. |
Assignor
| Field | Type | Description |
|---|---|---|
name | string | Name of the assignor. |
document_number | string | Document (CNPJ). |
person_type | string | Person type. |
Occurrences
Each item of the array is an object with the following fields:
| Field | Type | Description |
|---|---|---|
occurrence_key | string | Identifier of the occurrence. |
status | string | Status of the occurrence. |
type | string | Type of the occurrence. |
occurrence_data | object | Additional data of the occurrence. |
Settlement Instructions
Each item of the array is an object with the following fields:
| Field | Type | Description |
|---|---|---|
settlement_instruction_key | string | Identifier of the settlement instruction. |
status | string | Status of the settlement instruction. |
asset_type | string | Asset type. |
asset_key | string | Unique key of the asset in the system. |
issue_date | date | Issue date. |
maturity_date | date | Maturity date. |
face_value | number | Face value of the asset. |
order_number | string | Contract number. |
Errors
| Status | Code | When it happens |
|---|---|---|
| 404 | BSC000009 | The bankslip does not exist in this configuration, or is not in pending_registration or registered. |
| 400 | BSC000106 | The bankslip was not issued by QI Tech; instructions are not accepted. |
| 400 | BSC000115 / BSC000116 | due_date_extension with a new date in the past or not later than the current due date. |
| 400 | BSC000123 | Instruction with a zero value (for example, monthly_rate or percentage_value equal to 0). |
| 404 | BSC000006 | The fund_class_key does not exist. |
| 403 | BSC000036 | The fund does not belong to your profile. |
| 400 | QIT000001 | Invalid body for the given occurrence_type. |
Authentication, permission and host errors: see API errors.