Skip to main content

Files

The file service handles file uploads and management. Use it to upload documents (identity verification, dispute evidence, etc.), list uploaded files, retrieve file details, and delete files. File uploads use multipart form data via the SDK's postMultipart() HTTP method.

import { createOakClient, createFileService } from '@oaknetwork/payments-sdk';

const client = createOakClient({ ... });
const files = createFileService(client);

Methods

MethodDescription
upload(file)Upload a file
list(query?)List uploaded files
get(fileId)Get a file by ID
delete(fileId)Delete a file

Upload a file

const result = await files.upload(formData);

if (result.ok) {
console.log('File ID:', result.value.data.id);
console.log('URL:', result.value.data.url);
}

The upload() method uses multipart form data. Pass a FormData object containing the file.

List files

const result = await files.list({
limit: 20,
offset: 0,
});

if (result.ok) {
for (const file of result.value.data) {
console.log(`${file.id}${file.name}${file.size}`);
}
}

Get a file

const result = await files.get('file_abc123');

if (result.ok) {
const file = result.value.data;
console.log('Name:', file.name);
console.log('Size:', file.size);
console.log('URL:', file.url);
}

Delete a file

const result = await files.delete('file_abc123');

if (result.ok) {
console.log('File deleted');
}

Response types

UploadResponse

FieldTypeDescription
idstringFile ID
namestringFile name
sizenumberFile size in bytes
urlstringFile URL
created_atstringISO timestamp

ListResponse

An array of file objects with id, name, size, url, and created_at fields.

GetResponse

Same shape as UploadResponse.

DeleteResponse

Confirmation of file deletion.