Skip to content
Gowd Platform Production

Upload onboarding document

POST
/order/v1/banking/accounts/documents

Upload an onboarding document file (pdf, png, jpg, jpeg, doc, docx, up to 10MB) for an existing account request. The document is attached to the request under the declared documentType.

Which documentTypes are accepted depends on the holderType of the account request. An INDIVIDUAL request accepts exactly three, all of them mandatory: documentHolder (identity document - RG, CNH, RNE, passport or equivalent), selfieHolder (the holder holding their photo ID) and pepDeclaration (the PEP questionnaire). An ORGANIZATION request accepts the company and legal representative slots, unchanged. Sending a documentType that does not belong to the holderType is refused with INVALID_REQUEST and the error lists the accepted values.

Every response returns missingRequiredDocuments with what is still pending, and the same list is available on GET /public/v1/banking/accounts/requests/{accountRequestId}.

selfieHolder and selfieRepresentative accept photo formats only (png, jpg, jpeg): a selfie is evidence that the holder was in front of a camera holding their photo ID.

object
file
required

Document file (pdf, png, jpg, jpeg, doc, docx). Maximum size of 10MB.

string format: binary
documentType
required

Which onboarding document of the account request this file is.

string
Allowed values: socialContract cnpjCard balanceSheet partnerProofAddress documentRepresentative selfieRepresentative documentHolder selfieHolder accountTerms proofAddress proofBankAddress ir kyc pepDeclaration incomeStatement
accountRequestId
required

Id of the account request this document belongs to, returned by the create account request endpoint. The request must exist, belong to the authenticated company and still be pending. Any previous document in the same field is kept in its history.

string format: uuid
append

Attach this file alongside the document already sent for the same documentType instead of replacing it. For documentHolder, documentRepresentative, selfieRepresentative and partnerProofAddress, a second upload of the same type appends by default: documentHolder holds the front and the back of the identity document, and the representative slots hold one file per partner. Send append=false to replace the current file. For other types, omitted or false still replaces.

boolean

Resource successfully created

object
documentId
required

Identifier of the uploaded document.

string format: uuid
Example
d3f46d1e-3f35-4cf9-9bcb-15c0b7c8f84a
url
required

Read URL of the uploaded document. The document is already attached to the account request; this link is for displaying it back to the holder.

string
Example
https://storage.company.com.br/onboarding-documents/d3f46d1e-3f35-4cf9-9bcb-15c0b7c8f84a.pdf
documentType
required

Declared document type; identifies which slot of the account request the document was attached to.

string
Allowed values: socialContract cnpjCard balanceSheet partnerProofAddress documentRepresentative selfieRepresentative documentHolder selfieHolder accountTerms proofAddress proofBankAddress ir kyc pepDeclaration incomeStatement
Example
documentHolder
accountRequestId

Account request this document was linked to, when informed on the upload.

string format: uuid
attached
required

Whether the document was written onto the account request. True only when accountRequestId was informed; otherwise place the reference yourself when creating the request.

boolean
appended
required

Whether the document was attached alongside the one already in this field instead of replacing it. True only when append was requested and the field already held a document.

boolean
missingRequiredDocuments
required

Mandatory onboarding document types for this holderType that are still missing after this upload. Empty when nothing is pending, and always empty when the holder type of the request is unknown.

Array<string>
Allowed values: socialContract cnpjCard balanceSheet partnerProofAddress documentRepresentative selfieRepresentative documentHolder selfieHolder accountTerms proofAddress proofBankAddress ir kyc pepDeclaration incomeStatement
Example
[
"pepDeclaration"
]
object
error
string
Example
INVALID_REQUEST
message
string
details
Array<object>
object
field
string
issue
string
description
string
Example
[
{
"field": "field_name",
"issue": "INVALID",
"description": "Field is invalid"
}
]

Unauthorized Request

object
error
string
Example
UNAUTHORIZED
message
string
Example
Unauthorized Request
details
Array<object>
object
field
string
issue
string
description
string
Example
[]
object
error
string
Example
FORBIDDEN_ERROR
message
string
details
Array<object>
object
field
string
issue
string
description
string
Example
[]
object
error
string
Example
INTERNAL_ERROR
message
string
details
Array<object>
object
field
string
issue
string
description
string
Example
[]