Skip to main content
POST
Upload Document via Presigned URL

When to Use

Call this when you receive an MCA_FUND_RECEIVED webhook with status DOCUMENT_PENDING and you already have the supporting document (e.g. invoice) hosted at a presigned URL you control. Include that presignedUrl in the request body — the backend downloads the file from it and stores it for the transaction. This is a single-call alternative to uploading the file directly as multipart form data.

Upload Flow

The presignedUrl you provide must be reachable at the time of the request — the backend fetches it immediately during this call. It is not stored or reused afterward.

Error Scenarios

Authorizations

x-gl-auth
string
header
required

Static API Key generated from the PayGlocal Partner Dashboard.

Path Parameters

gid
string
required

Unique FFMS transaction identifier (from the MCA_FUND_RECEIVED webhook).

Body

application/json
amount
string
required

Transaction amount.

Example:

"1000.00"

currency
string
required

ISO 4217 currency code.

Example:

"USD"

invoiceType
string
required

Type of document being uploaded.

Example:

"INVOICE"

paymentType
string
required

Payment type classification.

Example:

"CARD"

merchantId
string
required

Merchant identifier. Must match the transaction.

Example:

"merchant_001"

fileName
string
required

File name including extension (extension max 10 characters).

Example:

"invoice_INV-2026-00321.pdf"

presignedUrl
string<uri>
required

A presigned URL you control, pointing to the file to attach. The backend downloads the file from this URL and stores it in GCC's storage. Use this instead of a multipart file upload. The URL must remain accessible when the request is made.

Example:

"https://your-bucket.s3.amazonaws.com/invoice.pdf?X-Amz-Signature=..."

customerFullName
string

Full name of the customer (3–150 characters).

Required string length: 3 - 150
Example:

"John Doe"

shippingDetails
string

Shipping information (1–120 characters).

Maximum string length: 120
Example:

"Bangalore, India"

invoiceNumber
string

Invoice reference number (1–100 characters).

Maximum string length: 100
Example:

"INV-2026-00321"

purposeCode
string

Purpose code for remittance reporting.

Example:

"P0102"

fxRate
string

Foreign exchange rate applied.

Example:

"83.12"

Response

Document uploaded successfully.

gid
string

Transaction identifier.

Example:

"gl_XXXXXXXXXXXXXXXX"

status
string
Example:

"201 CREATED"

message
string
Example:

"Request completed"

timestamp
string
Example:

"05/03/2026 17:35:10"

reasonCode
string
Example:

"GL-201-001"

data
object | null
errors
object | null