Skip to content

Files & KYC

Upload file details and binary data to storage.

POST /v1/consumer/admin/files/{consumerReference}

Auth: API key (VantagePayAdminClient).

Parameters

NameInRequiredDescription
consumerReferencepathYesA globally unique internal consumer reference (UUID).

Request body

FieldTypeRequiredDescription
fileTypeone of 14 values (e.g. Unspecified, FaceImage, IdentityDocumentFront, ...)NoThe KYC-specific file type that categorizes this document (e.g. national ID, passport, proof of address).
kycResultsarray<object>?NoThe KYC verification results associated with this file from one or more KYC providers.
referencestring?NoThe system-assigned unique reference (UUID) for this file record.
yourReferencestring?NoAn optional external reference from the caller's system that identifies this file.
descriptionstring?NoAn optional human-readable description of the file contents.
fileNamestring?NoThe original file name including extension (e.g. "id_document.pdf").
mimeTypestring?NoThe MIME type of the file, resolved from the file extension (e.g. "application/pdf").
base64Datastring?NoThe base64-encoded file content. Populated only when uploading or explicitly requested.
createdDatestringNoThe UTC date and time at which this file was uploaded.
lastUpdatedDatestring?NoThe UTC date and time at which this file was last updated.
isActivebooleanNotrue if this file is currently active and visible.
json
{
  "fileType": "Unspecified",
  "kycResults": [
    {}
  ],
  "reference": "00000000-0000-0000-0000-000000000000",
  "yourReference": "string",
  "description": "string",
  "fileName": "string",
  "mimeType": "string",
  "base64Data": "string",
  "createdDate": "string",
  "lastUpdatedDate": "string",
  "isActive": true
}

Responses

StatusDescription
200The request was successful but does not return any results.
400The request failed validation, the error object will contain further information.
401The authorization information provided is not valid, authentication is required to access this resource.
403The authorization header does not contain the correct type or you do not have access to this resource.
404The request was successful but does not return any results.
422The request payload is invalid, the error object will contain further information.
429Too many requests are being sent concurrently or rate limiting has taken effect.
500An unexpected error occurred, the error object will contain further information.

Response body

FieldTypeRequiredDescription
successbooleanNoGets a value indicating whether the operation was successful.
resultobjectNoA file attached to a consumer record, such as a proof of identity or supporting KYC document.
json
{
  "success": true,
  "result": {
    "fileType": "Unspecified",
    "kycResults": [],
    "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.

csharp
using VantagePay.Models.Consumers;

var file = await adminClient.Consumers.UploadFileAsync(Guid.Parse("7c9e6679-7425-40de-944b-e07fc1f90ae7"), new ConsumerFile
{
    FileName = "id-document.pdf",
    FileType = ConsumerFileType.IdentityDocumentFront,
    Base64Data = documentBase64, // must be <= 4 MB
});

Get file details and it's binary data from storage.

GET /v1/consumer/admin/files/{consumerReference}/{fileReference}

Auth: API key (VantagePayAdminClient).

Parameters

NameInRequiredDescription
consumerReferencepathYesA globally unique internal consumer reference (UUID).
fileReferencepathYesA globally unique internal file reference (UUID).

Responses

StatusDescription
200The request was successful but does not return any results.
400The request failed validation, the error object will contain further information.
401The authorization information provided is not valid, authentication is required to access this resource.
403The authorization header does not contain the correct type or you do not have access to this resource.
404The request was successful but does not return any results.
422The request payload is invalid, the error object will contain further information.
429Too many requests are being sent concurrently or rate limiting has taken effect.
500An unexpected error occurred, the error object will contain further information.

Response body

FieldTypeRequiredDescription
successbooleanNoGets a value indicating whether the operation was successful.
resultobjectNoA file attached to a consumer record, such as a proof of identity or supporting KYC document.
json
{
  "success": true,
  "result": {
    "fileType": "Unspecified",
    "kycResults": [],
    "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.

csharp
var file = await adminClient.Consumers.DownloadFileAsync(Guid.Parse("7c9e6679-7425-40de-944b-e07fc1f90ae7"), Guid.Parse("99998888-7777-6666-5555-444433332211"));

Delete file details.

DELETE /v1/consumer/admin/files/{consumerReference}/{fileReference}

Auth: API key (VantagePayAdminClient).

Parameters

NameInRequiredDescription
consumerReferencepathYesA globally unique internal consumer reference (UUID).
fileReferencepathYesA globally unique internal file reference (UUID).

Responses

StatusDescription
200The request was successful but does not return any results.
400The request failed validation, the error object will contain further information.
401The authorization information provided is not valid, authentication is required to access this resource.
403The authorization header does not contain the correct type or you do not have access to this resource.
404The request was successful but does not return any results.
422The request payload is invalid, the error object will contain further information.
429Too many requests are being sent concurrently or rate limiting has taken effect.
500An unexpected error occurred, the error object will contain further information.

Response body

FieldTypeRequiredDescription
successbooleanNoGets a value indicating whether the operation was successful.
json
{
  "success": true
}

Code samples

WARNING

The JavaScript SDK does not cover admin APIs - use the .NET SDK.

csharp
await adminClient.Consumers.DeleteFileAsync(Guid.Parse("7c9e6679-7425-40de-944b-e07fc1f90ae7"), Guid.Parse("99998888-7777-6666-5555-444433332211"));

Manually verify the consumer KYC status.

PUT /v1/consumer/admin/kyc/verify/{consumerReference}

Auth: API key (VantagePayAdminClient).

Parameters

NameInRequiredDescription
consumerReferencepathYesA globally unique internal consumer reference (UUID).

Responses

StatusDescription
200The request was successful but does not return any results.
400The request failed validation, the error object will contain further information.
401The authorization information provided is not valid, authentication is required to access this resource.
403The authorization header does not contain the correct type or you do not have access to this resource.
404The request was successful but does not return any results.
422The request payload is invalid, the error object will contain further information.
429Too many requests are being sent concurrently or rate limiting has taken effect.
500An unexpected error occurred, the error object will contain further information.

Response body

FieldTypeRequiredDescription
successbooleanNoGets a value indicating whether the operation was successful.
json
{
  "success": true
}

Code samples

WARNING

The JavaScript SDK does not cover admin APIs - use the .NET SDK.

csharp
await adminClient.Consumers.VerifyKycAsync(Guid.Parse("7c9e6679-7425-40de-944b-e07fc1f90ae7"));

Manually reject a consumer KYC status.

PUT /v1/consumer/admin/kyc/reject/{consumerReference}

Auth: API key (VantagePayAdminClient).

Parameters

NameInRequiredDescription
consumerReferencepathYesA globally unique internal consumer reference (UUID).

Responses

StatusDescription
200The request was successful but does not return any results.
400The request failed validation, the error object will contain further information.
401The authorization information provided is not valid, authentication is required to access this resource.
403The authorization header does not contain the correct type or you do not have access to this resource.
404The request was successful but does not return any results.
422The request payload is invalid, the error object will contain further information.
429Too many requests are being sent concurrently or rate limiting has taken effect.
500An unexpected error occurred, the error object will contain further information.

Response body

FieldTypeRequiredDescription
successbooleanNoGets a value indicating whether the operation was successful.
json
{
  "success": true
}

Code samples

WARNING

The JavaScript SDK does not cover admin APIs - use the .NET SDK.

csharp
await adminClient.Consumers.RejectKycAsync(Guid.Parse("7c9e6679-7425-40de-944b-e07fc1f90ae7"));

Payments for Africa