Skip to main content

Asset Creation — Discounted Contract

Endpoint to insert a Discounted Contract asset into an assignment batch. This asset type represents an installment of a credit contract whose credit right will be assigned to the fund.

Available on
ProfileHostRequired permission
Managermanager-apiWrite
Consultantconsultant-apiBatches
Assignorassignor-apiWrite

Base URL for each host: Environments (Hosts).

Where am I in the flow?

This is step 2 of the assignment flow. Before this, you must have created the batch. After inserting the assets, submit the required documents and close the insertion.

Attention

The external_id field of the credit right identifies the asset within the batch and must not be confused with the batch external_id.

Request​

ENDPOINT
/trade_receivables/fund_class/{fund_class_key}/assignment_configuration/{assignment_configuration_key}/assignment/{assignment_external_id}/asset
METHOD
POST
Request Body
{
"asset_type": "discounted_contract",
"total_purchase_value": 1231.21,
"discounted_credit_right": {
"external_id": "mdf27za1-ra5f-46c0-a32f-fb909884dbb2",
"originator_document_number": "22.333.444/0001-81",
"face_value": 1231.21,
"maturity_date": "2025-12-10",
"installment_number": 1,
"borrower": {
"name": "Natália Nascimento",
"document_number": "969.698.790-03",
"person_type": "natural_person",
"email": "natalia.nascimento@yopmail.com",
"address": {
"street": "Gilberto Sabino",
"number": "215",
"neighborhood": "Pinheiros",
"city": "São Paulo",
"postal_code": "05425-020",
"uf": "SP",
"country": "BRA"
},
"phone": {
"area_code": "11",
"number": "36360268"
},
"natural_person": {
"mother_name": "Lívia Santos",
"birthdate": "2001-01-05"
}
},
"contract": {
"number_of_installments": 5,
"total_face_value": 1231.21,
"number": "958431587",
"issue_date": "2023-10-10"
}
}
}

Body attributes​

FieldTypeRequiredDescription
asset_typestringrequiredAsset type. For a discounted contract, provide discounted_contract.
total_purchase_valuenumberrequiredTotal purchase value of the asset — effectively how much the assignee will pay. Up to 2 decimal places.
discounted_credit_rightobjectrequiredCredit right data. See discounted_credit_right attributes.

discounted_credit_right attributes​

FieldTypeRequiredDescription
external_idstringrequiredUnique identification key of this asset in the partner's system. Maximum of 50 characters.
originator_document_numberstringrequiredFormatted CPF or CNPJ (000.000.000-00 or 00.000.000/0000-00) of the originator that enabled the operation. It must be registered with QI Tech; otherwise, it returns TRC000019.
face_valuenumberrequiredFace value. Up to 8 decimal places.
maturity_datestringrequiredInstallment maturity date in the YYYY-MM-DD format.
installment_numberintegerrequiredNumber of the contract installment this asset represents. Without it, the insertion returns TRC000077.
borrowerobjectrequiredDrawee data. See the borrower attributes on the Asset Creation — CCB page.
contractobjectrequiredContract data. See contract attributes. Without it, the insertion returns TRC000075. Do not send the invoice object for this asset type (TRC000076).

contract attributes​

FieldTypeRequiredDescription
number_of_installmentsintegerrequiredTotal number of contract installments.
total_face_valuenumberrequiredTotal face value of the contract. Up to 2 decimal places.
numberstringrequiredContract number. Maximum of 50 characters.
issue_datestringrequiredIssue date in the YYYY-MM-DD format.

Response​

STATUS
201
Response Body
{
"asset_key": "41d6ff41-1dac-4df7-9e50-d15210ec57f3",
"external_id": "mdf27za1-ra5f-46c0-a32f-fb909884dbb2",
"status": "pending_eligibility"
}

Response attributes​

FieldTypeDescription
asset_keystringUnique asset identifier generated by QI Tech (UUID).
external_idstringThe same external key provided in the external_id field of discounted_credit_right.
statusstringInitial asset status. It always returns pending_eligibility, indicating that the asset was inserted and is awaiting eligibility analysis.

Errors​

StatusCodeWhen it happens
400QIT000001The request body does not follow the expected format: missing required field, invalid type or format. The description points to the field.
404TRC000018There is no batch with that assignment_external_id in this assignment configuration.
400TRC000025The asset_type differs from the asset type of the assignment configuration.
400TRC000022The batch no longer accepts assets: the insertion has already been closed. To add more, reopen the batch.
400TRC000009Invalid CPF or CNPJ in originator_document_number or in the document_number of a natural person drawee.
404TRC000019There is no originator registered with the originator_document_number provided. Despite the title (Originator bond not found), the error does not refer to the link with the configuration.
400TRC000077Missing installment_number.
400TRC000075Missing contract object.
400TRC000076invoice object sent in a discounted_contract asset.
409TRC000054An asset with that external_id already exists in this batch.
409TRC100026A credit right with that external_id already exists for the same assignor in the fund's portfolio.
400TRC1000xxThe asset's financial validation refused the request body. Example: TRC100017 (409), the fund does not buy overdue assets.

The error body follows the format below:

{
"title": "Already Exist This External Id",
"description": "Already exist an asset with this External Id and asset_key->41d6ff41-1dac-4df7-9e50-d15210ec57f3",
"translation": "Ja existe um ativo com esse External Id e asset_key->41d6ff41-1dac-4df7-9e50-d15210ec57f3",
"code": "TRC000054"
}

In case of error, resend the request. A duplicate (TRC000054) means the resource already exists: query it instead of recreating it, through the asset query endpoint. More in Retry and duplicates.

Authentication, permission and host errors: see API Errors.

Next steps​

After inserting the asset, the flow continues with:

  1. Document submission — submit the required documentation for each asset approved in eligibility.
  2. Close asset insertion — signal that all assets have been inserted so the batch proceeds to the eligibility analysis.