Files & KYB
Upload file details and binary data to storage.
POST /v1/merchant/admin/files/{merchantReference}
Auth: API key (VantagePayAdminClient).
Parameters
| Name | In | Required | Description |
|---|---|---|---|
merchantReference | path | Yes | A globally unique internal merchant reference (UUID). |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
fileType | one of 17 values (e.g. Unspecified, AgentAgreement, MerchantAgreement, ...) | No | The KYB-specific file type that categorizes this document (e.g. registration certificate, proof of address). |
kybResults | array<object>? | No | The KYB verification results associated with this file from one or more KYB providers. |
reference | string? | No | The system-assigned unique reference (UUID) for this file record. |
yourReference | string? | No | An optional external reference from the caller's system that identifies this file. |
description | string? | No | An optional human-readable description of the file contents. |
fileName | string? | No | The original file name including extension (e.g. "id_document.pdf"). |
mimeType | string? | No | The MIME type of the file, resolved from the file extension (e.g. "application/pdf"). |
base64Data | string? | No | The base64-encoded file content. Populated only when uploading or explicitly requested. |
createdDate | string | No | The UTC date and time at which this file was uploaded. |
lastUpdatedDate | string? | No | The UTC date and time at which this file was last updated. |
isActive | boolean | No | true if this file is currently active and visible. |
{
"fileType": "Unspecified",
"kybResults": [
{}
],
"reference": "00000000-0000-0000-0000-000000000000",
"yourReference": "string",
"description": "string",
"fileName": "string",
"mimeType": "string",
"base64Data": "string",
"createdDate": "string",
"lastUpdatedDate": "string",
"isActive": true
}Responses
| Status | Description |
|---|---|
200 | The request was successful but does not return any results. |
400 | The request failed validation, the error object will contain further information. |
401 | The authorization information provided is not valid, authentication is required to access this resource. |
403 | The authorization header does not contain the correct type or you do not have access to this resource. |
404 | The request was successful but does not return any results. |
422 | The request payload is invalid, the error object will contain further information. |
429 | Too many requests are being sent concurrently or rate limiting has taken effect. |
500 | An unexpected error occurred, the error object will contain further information. |
Response body
| Field | Type | Required | Description |
|---|---|---|---|
success | boolean | No | Gets a value indicating whether the operation was successful. |
result | object | No | A file attached to a merchant record, such as a business registration certificate or supporting KYB document. |
{
"success": true,
"result": {
"fileType": "Unspecified",
"kybResults": [],
"reference": "00000000-0000-0000-0000-000000000000",
"yourReference": "string",
"description": "string",
"fileName": "string",
"mimeType": "string",
"base64Data": "string",
"createdDate": "string",
"lastUpdatedDate": "string",
"isActive": true
}
}Code samples
WARNING
The JavaScript SDK does not cover admin APIs - use the .NET SDK.
using VantagePay.Models.Merchants;
var file = await adminClient.Merchants.UploadFileAsync(Guid.Parse("3fa85f64-5717-4562-b3fc-2c963f66afa6"), new MerchantFile
{
FileName = "business-registration.pdf",
Base64Data = documentBase64, // must be <= 4 MB
});Get file details and it's binary data from storage.
GET /v1/merchant/admin/files/{merchantReference}/{fileReference}
Auth: API key (VantagePayAdminClient).
Parameters
| Name | In | Required | Description |
|---|---|---|---|
merchantReference | path | Yes | A globally unique internal merchant reference (UUID). |
fileReference | path | Yes | A globally unique internal file reference (UUID). |
Responses
| Status | Description |
|---|---|
200 | The request was successful but does not return any results. |
400 | The request failed validation, the error object will contain further information. |
401 | The authorization information provided is not valid, authentication is required to access this resource. |
403 | The authorization header does not contain the correct type or you do not have access to this resource. |
404 | The request was successful but does not return any results. |
422 | The request payload is invalid, the error object will contain further information. |
429 | Too many requests are being sent concurrently or rate limiting has taken effect. |
500 | An unexpected error occurred, the error object will contain further information. |
Response body
| Field | Type | Required | Description |
|---|---|---|---|
success | boolean | No | Gets a value indicating whether the operation was successful. |
result | object | No | A file attached to a merchant record, such as a business registration certificate or supporting KYB document. |
{
"success": true,
"result": {
"fileType": "Unspecified",
"kybResults": [],
"reference": "00000000-0000-0000-0000-000000000000",
"yourReference": "string",
"description": "string",
"fileName": "string",
"mimeType": "string",
"base64Data": "string",
"createdDate": "string",
"lastUpdatedDate": "string",
"isActive": true
}
}Code samples
WARNING
The JavaScript SDK does not cover admin APIs - use the .NET SDK.
var file = await adminClient.Merchants.DownloadFileAsync(Guid.Parse("3fa85f64-5717-4562-b3fc-2c963f66afa6"), Guid.Parse("99998888-7777-6666-5555-444433332211"));Delete file details.
DELETE /v1/merchant/admin/files/{merchantReference}/{fileReference}
Auth: API key (VantagePayAdminClient).
Parameters
| Name | In | Required | Description |
|---|---|---|---|
merchantReference | path | Yes | A globally unique internal merchant reference (UUID). |
fileReference | path | Yes | A globally unique internal file reference (UUID). |
Responses
| Status | Description |
|---|---|
200 | The request was successful but does not return any results. |
400 | The request failed validation, the error object will contain further information. |
401 | The authorization information provided is not valid, authentication is required to access this resource. |
403 | The authorization header does not contain the correct type or you do not have access to this resource. |
404 | The request was successful but does not return any results. |
422 | The request payload is invalid, the error object will contain further information. |
429 | Too many requests are being sent concurrently or rate limiting has taken effect. |
500 | An unexpected error occurred, the error object will contain further information. |
Response body
| Field | Type | Required | Description |
|---|---|---|---|
success | boolean | No | Gets a value indicating whether the operation was successful. |
{
"success": true
}Code samples
WARNING
The JavaScript SDK does not cover admin APIs - use the .NET SDK.
await adminClient.Merchants.DeleteFileAsync(Guid.Parse("3fa85f64-5717-4562-b3fc-2c963f66afa6"), Guid.Parse("99998888-7777-6666-5555-444433332211"));Manually verify a KYB document.
PUT /v1/merchant/admin/kyb/verify/{merchantReference}/{fileReference}
Auth: API key (VantagePayAdminClient).
Parameters
| Name | In | Required | Description |
|---|---|---|---|
merchantReference | path | Yes | A globally unique internal merchant reference (UUID). |
fileReference | path | Yes | A globally unique internal file reference (UUID). |
Responses
| Status | Description |
|---|---|
200 | The request was successful but does not return any results. |
400 | The request failed validation, the error object will contain further information. |
401 | The authorization information provided is not valid, authentication is required to access this resource. |
403 | The authorization header does not contain the correct type or you do not have access to this resource. |
404 | The request was successful but does not return any results. |
422 | The request payload is invalid, the error object will contain further information. |
429 | Too many requests are being sent concurrently or rate limiting has taken effect. |
500 | An unexpected error occurred, the error object will contain further information. |
Response body
| Field | Type | Required | Description |
|---|---|---|---|
success | boolean | No | Gets a value indicating whether the operation was successful. |
{
"success": true
}Code samples
WARNING
The JavaScript SDK does not cover admin APIs - use the .NET SDK.
await adminClient.Merchants.VerifyKybFileAsync(Guid.Parse("3fa85f64-5717-4562-b3fc-2c963f66afa6"), Guid.Parse("99998888-7777-6666-5555-444433332211"));Manually reject a KYB document.
PUT /v1/merchant/admin/kyb/reject/{merchantReference}/{fileReference}
Auth: API key (VantagePayAdminClient).
Parameters
| Name | In | Required | Description |
|---|---|---|---|
merchantReference | path | Yes | A globally unique internal merchant reference (UUID). |
fileReference | path | Yes | A globally unique internal file reference (UUID). |
Responses
| Status | Description |
|---|---|
200 | The request was successful but does not return any results. |
400 | The request failed validation, the error object will contain further information. |
401 | The authorization information provided is not valid, authentication is required to access this resource. |
403 | The authorization header does not contain the correct type or you do not have access to this resource. |
404 | The request was successful but does not return any results. |
422 | The request payload is invalid, the error object will contain further information. |
429 | Too many requests are being sent concurrently or rate limiting has taken effect. |
500 | An unexpected error occurred, the error object will contain further information. |
Response body
| Field | Type | Required | Description |
|---|---|---|---|
success | boolean | No | Gets a value indicating whether the operation was successful. |
{
"success": true
}Code samples
WARNING
The JavaScript SDK does not cover admin APIs - use the .NET SDK.
await adminClient.Merchants.RejectKybFileAsync(Guid.Parse("3fa85f64-5717-4562-b3fc-2c963f66afa6"), Guid.Parse("99998888-7777-6666-5555-444433332211"));