Pave Bank
Documents

Generate Upload URL

Generate signed url which will be used to upload document

Signed url is used to upload the document

Document Types

When generating upload URLs, specify one of the following document types:

Individual Identification:

  • passport - Passport document
  • national_id - National ID card
  • proof_of_address - Proof of address document
  • residence_permit - Residence permit

Legal Entity Identification:

  • business_registry_extract - Business registry extract
  • ubo_documentation - UBO (Ultimate Beneficial Owner) documentation
  • ubo_passport - UBO passport
  • authorised_person_passport - Authorized person passport

Source of Funds/Wealth:

  • source_of_funds_document - Source of funds document
  • source_of_wealth_document - Source of wealth document
  • sof_supporting_document - Supporting document for source of funds
  • sow_supporting_document - Supporting document for source of wealth

Transaction Documents:

  • transaction_supporting_document - Supporting document for transaction
  • registry_extract - Registry extract
  • supporting_documents_of_relationship - Supporting documents for relationship

Other:

  • other - Other document types

The related_id identifies the entity associated with the document:

  • For RFI responses: Use the RFI ID (e.g., rfi_abc123xyz)
  • For high-volume transfers: Use your legal entity ID. The transaction ID will be assigned automatically after transfer creation.

Example Requests

RFI Documents

curl -X POST "https://api.pavebank.com/v1/documents/upload-url" \
  --header "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "related_id": "rfi_abc123xyz",
    "content_type": "application/pdf",
    "document_type": "passport"
  }'

Transfer Documents

For transfers exceeding 100,000 GEL, use your legal entity ID as the related_id:

curl -X POST "https://api.pavebank.com/v1/documents/upload-url" \
  --header "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "related_id": "<LEGAL_ENTITY_ID>",
    "content_type": "application/pdf",
    "document_type": "transaction_supporting_document"
  }'

Example Response

{
    "id": "<DOCUMENT_ID>",
    "url": "https://storage.googleapis.com/pavebank-development-docs/<SIGNED_URL_WITH_PARAMETERS>",
    "expires_at": "2025-11-04T20:49:10.022639+08:00"
}
POST
/v1/documents/upload-url

Authorization

AuthorizationRequiredBearer <token>

Enter your token in the format: Bearer {token}

In: header

Request Body

application/jsonOptional
related_idRequiredstring

ID of the related entity (e.g. RFI ID for rfi responses, or legal entity ID for transfers)

content_typeRequiredstring

MIME type of the document to be uploaded (e.g., application/pdf, image/png)

document_typeRequiredstring

Type of document being uploaded or referenced

Value in: "passport" | "national_id" | "proof_of_address" | "residence_permit" | "business_registry_extract" | "ubo_documentation" | "ubo_passport" | "authorised_person_passport" | "source_of_funds_document" | "source_of_wealth_document" | "sof_supporting_document" | "sow_supporting_document" | "transaction_supporting_document" | "registry_extract" | "supporting_documents_of_relationship" | "other"

Response Body

Successfully generated upload URL

idRequiredstring

Unique identifier for the document

urlRequiredstring

Signed URL for uploading the document

expires_atRequiredstring

Timestamp when the upload URL expires

Format: "date-time"
curl -X POST "https://developer-api-staging.pavebank.dev/v1/documents/upload-url" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "related_id": "string",
    "content_type": "string",
    "document_type": "passport"
  }'
{
  "id": "string",
  "url": "string",
  "expires_at": "2019-08-24T14:15:22Z"
}