Skip to main content

Commercial Paper Operation Registration

This endpoint allows creating a new commercial paper operation based on financial and investor data.


Request​

ENDPOINT
/commercial_paper/operation
METHOD
POST
Request Body
{
"issuer_key": "48e2c597-f2ca-487e-9f06-2b628ecb831e",
"issuer_bank_account": {
"account_number": "4464541",
"account_digit": "3",
"account_branch": "0001",
"financial_institution_code_number": "329",
"financial_institution_ispb": "32402502",
"account_type": "checking"
},
"investors": [
{
"investor_key": "70b1b638-ca56-4eb3-9a88-2fd5ffd077a7",
"subscription_percentage": 100,
"bank_account": {
"account_number": "33400254",
"account_digit": "3",
"account_branch": "0001",
"financial_institution_code_number": "329",
"financial_institution_ispb": "32402502",
"account_type": "checking"
}
}
],
"issue_date": "2025-01-23",
"signature_method": "certifiqi",
"financial": {
"interest_type": "pre_price_days",
"financial_base_date": "2025-01-23",
"released_amount": 1000000,
"number_of_installments": 5,
"prefixed_interest_rate": {
"interest_base": "calendar_days_365",
"monthly_rate": 0.05
},
"fine_delay_rate": {
"interest_base": "calendar_days_365",
"monthly_rate": 0.01
},
"contract_fine_rate": 0.02,
"fees": [
{
"amount": 5,
"amount_type": "percentage",
"fee_type": "structuring_fee"
}
]
}
}

Request Body Params​

FieldTypeDescriptionMax Characters
issuer_key *stringUnique issuer key.-
issuer_bank_account *objectIssuer bank account.issuer_bank_account Object
investors *arrayList of involved investors.investors Object
issue_date *stringOperation issue date (format "YYYY-MM-DD").-
signature_methodstringSignature method used in the operation. Optional; when omitted, defaults to certifiqi.signature_method Enumerators
financial *objectOperation financial data.financial Object
third_party_disbursementobjectThird-party disbursement instruction. Optional; requires prior enablement.third_party_disbursement Object

issuer_bank_account Object​

FieldTypeDescription
account_number *stringBank account number.
account_digit *stringBank account digit.
account_branch *stringBank account branch.
financial_institution_code_number *stringFinancial institution code.
financial_institution_ispb *stringFinancial institution ISPB code.
account_type *stringAccount type (checking, savings).

investors Object​

FieldTypeDescription
investor_key *stringUnique investor key.
subscription_percentage *numberSubscription percentage.
bank_account *objectInvestor bank account.

financial Object​

FieldTypeDescription
interest_type *stringInterest type.
financial_base_date *stringFinancial base date (format "YYYY-MM-DD").
released_amount *numberReleased amount.
number_of_installments *integerNumber of installments.
prefixed_interest_rate *objectPrefixed interest rate.
fine_delay_rate *objectDelay fine rate.
contract_fine_rate *numberContractual fine in percentage.
feesarrayList of fees.

third_party_disbursement Object​

Optional instruction stating that the released amount will be paid to a third-party beneficiary instead of the issuer's settlement account. The object does not accept fields beyond the ones listed (additionalProperties: false) and the two tracks — TED and bank slip — are mutually exclusive.

FieldTypeDescriptionMax Characters
payment_method *stringPayment track used in the disbursement (ted, bank_slip, pix).-
target_accountobjectBeneficiary bank account. Required when payment_method is ted; forbidden on the other tracks.target_account Object
digitable_linestringDigitable line of the beneficiary's bank slip, digits only (pattern ^[0-9]{47}$). Required when payment_method is bank_slip; forbidden on the other tracks.47
pix_keystringBeneficiary's Pix key, unformatted for CPF and CNPJ. Required when payment_method is pix; forbidden on the other tracks.77
pix_key_typestringDeclared type of the Pix key (cpf, cnpj, phone, email, evp). Required when payment_method is pix; forbidden on the other tracks.-
beneficiaryobjectQualification of the third-party beneficiary. Required when payment_method is pix; optional on ted and bank_slip.Third-party disbursement
Feature available on request

Sending third_party_disbursement requires prior enablement by QI Tech; without it the creation is refused with COM000062. The complete rules — including the bank slip amount check, the Pix key types and the beneficiary object fields — are in Third-party disbursement on the operation.

target_account Object​

FieldTypeDescriptionMax Characters
account_branch *stringBeneficiary bank account branch, digits only (exactly 4).4
account_number *stringBeneficiary bank account number, digits only (1 to 20).20
account_digit *stringBeneficiary bank account digit, digits only (exactly 1).1
financial_institution_ispb *stringISPB code of the beneficiary's financial institution, digits only (exactly 8). Determines the TED routing.8
financial_institution_code_numberstring or nullCode of the beneficiary's financial institution, digits only (3). Optional and not used for routing.3
account_type *stringBeneficiary account type (checking, savings, salary, payment).-
owner_document_number *stringCPF or CNPJ of the account holder, formatted (000.000.000-00 or 00.000.000/0000-00). The check digits are validated.18
owner_name *stringAccount holder name (1 to 50 characters).50

signature_method Enumerators​

ValueDescription
certifiqiDefault value. The operation is sent to the signature service; a signature envelope is created and the client receives the signature URL (signature_url).
qi_signThe operation is sent to the signature service; a signature envelope is created and the client receives the signature URL (signature_url). Also allows querying the operation's signers.
client_sideThe documents are signed outside the QI Tech platform and sent through the send signed documents endpoint. No signature URL is generated.

Response​

STATUS
201
Response Body
{
"tenant_key": "1d29d606-649a-487f-af1c-c0f5cb3e9814",
"operation_key": "a846cc4a-b542-4f66-9823-b6d5458bd127",
"operation_status": "in_filling",
"issuer_key": "48e2c597-f2ca-487e-9f06-2b628ecb831e",
"issuer_name": "Dynamic Enterprises",
"issuer_document_number": "28980395000155",
"financial": {
...
}
}

Response Body Params​

FieldTypeDescription
tenant_key *stringUnique tenant key.
operation_key *stringUnique operation key.
operation_status *stringOperation status.
issuer_key *stringUnique issuer key.
issuer_name *stringIssuer name.
issuer_document_number *stringIssuer document.
financial *objectfinancial Object

financial Object Response​

FieldTypeDescriptionMax Characters
financial_base_date *stringOperation financial base date (format "YYYY-MM-DD").-
issue_amount *numberTotal issued amount of the operation.-
released_amount *numberNet amount released in the operation.-
issue_quantity *integerTotal quantity of units issued.-
unit_price *numberUnit price of the issuance.-
cet *numberTotal Effective Cost (CET) in percentage.-
annual_cet *numberAnnual CET in percentage.-
number_of_installments *integerTotal number of installments.-
prefixed_interest_rate *objectObject containing prefixed interest rate details.prefixed_interest_rate Object
feesarrayList of fees associated with the operation.fees Object
installmentsarrayList of installment details generated in the operation.installments Object
fine_delay_rate *objectObject containing delay fine details.fine_delay_rate Object
contract_fine_rate *numberContractual fine applied in percentage.-

prefixed_interest_rate Object​

FieldTypeDescriptionMax Characters
interest_base *stringCalculation base for interest.interest_base Enumerators
monthly_rate *numberApplied monthly interest rate.-
daily_rate *numberApplied daily interest rate.-
annual_rate *numberApplied annual interest rate.-

fees Object​

FieldTypeDescriptionMax Characters
amount *numberPercentage value of the fee.-
fee_amount *numberMonetary value corresponding to the fee.-
amount_type *stringType of fee value.amount_type Enumerators
fee_type *stringType of fee.fee_type Enumerators
type *stringFee recipient.fee_recipient Enumerators

installments Object​

FieldTypeDescription
installment_number *integerInstallment number.
workdays *integerBusiness days until installment due date.
calendar_days *integerCalendar days until installment due date.
principal_amortization_amount *numberPrincipal amortized amount.
principal_amortization_unit_price *numberAmortized amount per unit.
interest_amount *numberInterest amount applied in the installment.
amount *numberTotal installment amount.
due_date *stringInstallment due date (format "YYYY-MM-DD").