Onboarding Buddy API (v1)

Download OpenAPI specification:

API for email validation, sanctions checking, file management, and batch processing

batch

Perform email address validation for a batch of values

This action returns the batch validation response

Authorizations:
(AppKeyApiKeyApiSecret)
Request Body schema: application/json
required

An instance of the EmailAddressSubmitBatchRequestM model

correlationId
string or null
idempotencyKey
string or null
itemList
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "correlationId": "string",
  • "idempotencyKey": "string",
  • "itemList": [
    ]
}

Response samples

Content type
application/json
{
  • "batchId": "1234-1234-1234-1234",
  • "batchStatus": "Submitted"
}

Perform mobile number validation for a batch of values

This action returns the batch validation response

Authorizations:
(AppKeyApiKeyApiSecret)
Request Body schema: application/json
required

The request payload

correlationId
string or null
idempotencyKey
string or null
required
Array of objects (MobileNumberM)

Responses

Request samples

Content type
application/json
{
  • "correlationId": "string",
  • "idempotencyKey": "string",
  • "itemList": [
    ]
}

Response samples

Content type
application/json
{
  • "batchId": "1234-1234-1234-1234",
  • "batchStatus": "Submitted"
}

Perform ip address validation for a batch of values

This action returns the batch validation response

Authorizations:
(AppKeyApiKeyApiSecret)
Request Body schema: application/json
required

The request payload

correlationId
string or null
idempotencyKey
string or null
itemList
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "correlationId": "string",
  • "idempotencyKey": "string",
  • "itemList": [
    ]
}

Response samples

Content type
application/json
{
  • "batchId": "1234-1234-1234-1234",
  • "batchStatus": "Submitted"
}

Perform browser validation for a batch of values

This action returns the batch validation response

Authorizations:
(AppKeyApiKeyApiSecret)
Request Body schema: application/json
required

The request payload

correlationId
string or null
idempotencyKey
string or null
itemList
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "correlationId": "string",
  • "idempotencyKey": "string",
  • "itemList": [
    ]
}

Response samples

Content type
application/json
{
  • "batchId": "1234-1234-1234-1234",
  • "batchStatus": "Submitted"
}

Poll the state of a batch submitted for processing

This action returns the batch poll response

Authorizations:
(AppKeyApiKeyApiSecret)
path Parameters
batchId
required
string

Responses

Request samples


using System.Net.Http;
using System.Text.Json;
using System.Threading.Tasks;

public class PollBatchResponseM
{
    public string? BatchId { get; set; }
    public string? BatchStatus { get; set; }
    public int BatchSize { get; set; }
    public string? BatchType { get; set; }
}

public async Task<PollBatchResponseM> PollBatchAsync(string batchId)
{
    using var client = new HttpClient();
    client.DefaultRequestHeaders.Add("ob-app-key", "<your-app-key>");
    client.DefaultRequestHeaders.Add("ob-api-key", "<your-api-key>");
    client.DefaultRequestHeaders.Add("ob-api-secret", "<your-api-secret>");

    var response = await client.GetAsync($"https://api.onboardingbuddy.co/validation-service/batch/poll/{batchId}");
    response.EnsureSuccessStatusCode();
    var responseContent = await response.Content.ReadAsStringAsync();
    return JsonSerializer.Deserialize<PollBatchResponseM>(responseContent)!;
}

Response samples

Content type
application/json
{
  • "batchId": "1234-1234-1234-1234",
  • "batchStatus": "Submitted",
  • "batchSize": "1",
  • "batchType": "Mobile"
}

Get the results for a batch - email address

This action returns the batch results response

Authorizations:
(AppKeyApiKeyApiSecret)
path Parameters
batchId
required
string

Responses

Response samples

Content type
application/json
{
  • "messageId": "string",
  • "correlationId": "string",
  • "idempotencyKey": "string",
  • "inError": true,
  • "errorType": "string",
  • "messages": [
    ],
  • "batchId": "string",
  • "batchStatus": "string",
  • "batchSize": 0,
  • "batchType": "string",
  • "createdDate": "2019-08-24T14:15:22Z",
  • "modifiedDate": "2019-08-24T14:15:22Z",
  • "processedCount": 0,
  • "errorCount": 0,
  • "resultData": [
    ]
}

Get the results for a batch - mobile number

This action returns the batch results response

Authorizations:
(AppKeyApiKeyApiSecret)
path Parameters
batchId
required
string

Responses

Response samples

Content type
application/json
{
  • "messageId": "string",
  • "correlationId": "string",
  • "idempotencyKey": "string",
  • "inError": true,
  • "errorType": "string",
  • "messages": [
    ],
  • "batchId": "string",
  • "batchStatus": "string",
  • "batchSize": 0,
  • "batchType": "string",
  • "createdDate": "2019-08-24T14:15:22Z",
  • "modifiedDate": "2019-08-24T14:15:22Z",
  • "processedCount": 0,
  • "errorCount": 0,
  • "resultData": [
    ]
}

Get the results for a batch - ip address

This action returns the batch results response

Authorizations:
(AppKeyApiKeyApiSecret)
path Parameters
batchId
required
string

Responses

Response samples

Content type
application/json
{
  • "messageId": "string",
  • "correlationId": "string",
  • "idempotencyKey": "string",
  • "inError": true,
  • "errorType": "string",
  • "messages": [
    ],
  • "batchId": "string",
  • "batchStatus": "string",
  • "batchSize": 0,
  • "batchType": "string",
  • "createdDate": "2019-08-24T14:15:22Z",
  • "modifiedDate": "2019-08-24T14:15:22Z",
  • "processedCount": 0,
  • "errorCount": 0,
  • "resultData": [
    ]
}

Get the results for a batch - browser

This action returns the batch results response

Authorizations:
(AppKeyApiKeyApiSecret)
path Parameters
batchId
required
string

Responses

Response samples

Content type
application/json
{
  • "messageId": "string",
  • "correlationId": "string",
  • "idempotencyKey": "string",
  • "inError": true,
  • "errorType": "string",
  • "messages": [
    ],
  • "batchId": "string",
  • "batchStatus": "string",
  • "batchSize": 0,
  • "batchType": "string",
  • "createdDate": "2019-08-24T14:15:22Z",
  • "modifiedDate": "2019-08-24T14:15:22Z",
  • "processedCount": 0,
  • "errorCount": 0,
  • "resultData": [
    ]
}

validation

Perform a mobile validation

This action returns the mobile validation response

Authorizations:
(AppKeyApiKeyApiSecret)
Request Body schema: application/json
required

The request payload

correlationId
string or null
idempotencyKey
string or null
required
object (MobileNumberM)

Responses

Request samples

Content type
application/json
{
  • "correlationId": "string",
  • "idempotencyKey": "string",
  • "mobileNumber": {
    }
}

Response samples

Content type
application/json
{
  • "mobileNumber": "0321123456",
  • "valid": true,
  • "localFormat": "0321123456",
  • "internationFormat": "+61321123456",
  • "countryPrefix": "+61",
  • "countryCode": "AU",
  • "carrier": "Optus Mobile Pty Ltd",
  • "lineType": "mobile",
  • "checkStatus": "Matched"
}

Perform an email validation

This action returns the email validation response

Authorizations:
(AppKeyApiKeyApiSecret)
Request Body schema: application/json
required

The request payload

correlationId
string or null
idempotencyKey
string or null
emailAddress
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "emailAddress": "support@onboardingbuddy.co"
}

Response samples

Content type
application/json
{
  • "emailAddress": "support@gmail.com",
  • "emailStatus": "Valid",
  • "freeEmail": true,
  • "domain": "gmail.com",
  • "domainAgeDays": 10000,
  • "mxFound": true,
  • "mxRecord": "gmail-smtp-in.l.google.com",
  • "checkStatus": "Matched",
  • "isDisposableDomain": false
}

Perform a browser validation

This action returns the browser validation response

Authorizations:
(AppKeyApiKeyApiSecret)
Request Body schema: application/json
required

The request payload

correlationId
string or null
idempotencyKey
string or null
userAgent
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36"
}

Response samples

Content type
application/json
{
  • "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36",
  • "simpleSoftware": "Chrome 81 on Windows 10",
  • "software": "Chrome 81",
  • "softwareName": "Chrome",
  • "operatingSystem": "Windows 10",
  • "operatingSystemVersion": "10",
  • "isAbusive": false,
  • "checkStatus": "Matched"
}

Perform an ip address validation

This action returns the ip address validation response

Authorizations:
(AppKeyApiKeyApiSecret)
Request Body schema: application/json
required

The request payload

correlationId
string or null
idempotencyKey
string or null
ipAddress
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "ipAddress": "18.230.227.254"
}

Response samples

Content type
application/json
{
  • "ipAddress": "18.230.227.254",
  • "isoCode": "BR",
  • "country": "Brazil",
  • "threat": "unknown",
  • "riskLevel": "1",
  • "checkStatus": "Matched"
}

file-management

File Download

Returns the download information for the requested file

Authorizations:
(AppKeyApiKeyApiSecret)
path Parameters
fileGlobalId
required
string

Responses

Request samples


using System.Net.Http;
using System.Text.Json;
using System.Threading.Tasks;

public class FileDownloadRecordM
{
    public string? GlobalId { get; set; }
    public string? PreSignedUrl { get; set; }
}

public async Task<FileDownloadRecordM> DownloadFileAsync(string fileGlobalId)
{
    using var client = new HttpClient();
    client.DefaultRequestHeaders.Add("ob-app-key", "<your-app-key>");
    client.DefaultRequestHeaders.Add("ob-api-key", "<your-api-key>");
    client.DefaultRequestHeaders.Add("ob-api-secret", "<your-api-secret>");

    var response = await client.GetAsync($"https://api.onboardingbuddy.co/file-service/download/{fileGlobalId}");
    response.EnsureSuccessStatusCode();
    var responseContent = await response.Content.ReadAsStringAsync();
    return JsonSerializer.Deserialize<FileDownloadRecordM>(responseContent)!;
}

Response samples

Content type
application/json
{}

Generate Image

Generate an image file based on a (prompt)

Authorizations:
(AppKeyApiKeyApiSecret)
Request Body schema:
correlationId
string or null
idempotencyKey
string or null
prompt
string or null

Responses

Request samples

Content type
{
  • "idempotencyKey": "<unique request identifier>",
  • "prompt": "A space rocket 3 seconds into launch heading into the night sky"
}

Response samples

Content type
application/json
{
  • "fileGlobalId": "<unique file identifier>",
  • "idempotencyKey": "<supplied idempotency key>",
  • "messageId": "<unique message id>",
  • "status": "SUBMITTED"
}

Generate Video

Generate a videobased on a (prompt) or (image and prompt).

Authorizations:
(AppKeyApiKeyApiSecret)
Request Body schema:
correlationId
string or null
idempotencyKey
string or null
prompt
string or null
imageFileGlobalId
string or null

Responses

Request samples

Content type
{
  • "idempotencyKey": "<unique request identifier>",
  • "prompt": "An elephant having a swim in the slow lane of an infinity pool over looking the London Eye",
  • "imageFileGlobalId": "<image file id>"
}

Response samples

Content type
application/json
{
  • "fileGlobalId": "<unique file identifier>",
  • "idempotencyKey": "<supplied idempotency key>",
  • "messageId": "<unique message id>",
  • "status": "SUBMITTED"
}

Poll File

Poll the status of a file generation request

Authorizations:
(AppKeyApiKeyApiSecret)
path Parameters
globalId
required
string

Responses

Request samples


using System.Net.Http;
using System.Text.Json;
using System.Threading.Tasks;

public class GenerateFileResponseM
{
    public string? GlobalId { get; set; }
    public string? Status { get; set; }
}

public async Task<GenerateFileResponseM> PollGenerateAsync(string globalId)
{
    using var client = new HttpClient();
    client.DefaultRequestHeaders.Add("ob-app-key", "<your-app-key>");
    client.DefaultRequestHeaders.Add("ob-api-key", "<your-api-key>");
    client.DefaultRequestHeaders.Add("ob-api-secret", "<your-api-secret>");

    var response = await client.GetAsync($"https://api.onboardingbuddy.co/file-service/generate/poll/{globalId}");
    response.EnsureSuccessStatusCode();
    var responseContent = await response.Content.ReadAsStringAsync();
    return JsonSerializer.Deserialize<GenerateFileResponseM>(responseContent)!;
}

Response samples

Content type
application/json
{
  • "globalId": "<unique file identifier>",
  • "fileStatus": "PROCESSED",
  • "fileHash": "zJBDrBEkTUUwuCcoEPD8K...B20Pbtlr+IyfFwHuuPdQQ==",
  • "createdDate": "2025-07-28T00:32:48.927",
  • "idempotencyKey": "<original idempotency key for file generation>"
}

Get File

Returns an individual file record for the specified identifer

Authorizations:
(AppKeyApiKeyApiSecret)
path Parameters
fileGlobalId
required
string

Responses

Response samples

Content type
application/json
{
  • "messageId": "string",
  • "correlationId": "string",
  • "idempotencyKey": "string",
  • "inError": true,
  • "errorType": "string",
  • "messages": [
    ],
  • "fileRecord": {
    }
}

Delete File

Deletes a file record for the specified identifer

Authorizations:
(AppKeyApiKeyApiSecret)
path Parameters
fileGlobalId
required
string

Responses

Get uploaded files

Retrieves a list of uploaded files for the organisation

Authorizations:
(AppKeyApiKeyApiSecret)

Responses

Request samples


using System.Net.Http;
using System.Text.Json;
using System.Threading.Tasks;

public class FileRecordListM
{
    public List<FileRecordM> Files { get; set; } = new List<FileRecordM>();
}

public class FileRecordM
{
    public string? GlobalId { get; set; }
    public string? FileName { get; set; }
}

public async Task<FileRecordListM> ListFilesAsync()
{
    using var client = new HttpClient();
    client.DefaultRequestHeaders.Add("ob-app-key", "<your-app-key>");
    client.DefaultRequestHeaders.Add("ob-api-key", "<your-api-key>");
    client.DefaultRequestHeaders.Add("ob-api-secret", "<your-api-secret>");

    var response = await client.GetAsync("https://api.onboardingbuddy.co/file-service/management");
    response.EnsureSuccessStatusCode();
    var responseContent = await response.Content.ReadAsStringAsync();
    return JsonSerializer.Deserialize<FileRecordListM>(responseContent)!;
}

Response samples

Content type
application/json
{
  • "messageId": "string",
  • "correlationId": "string",
  • "idempotencyKey": "string",
  • "inError": true,
  • "errorType": "string",
  • "messages": [
    ],
  • "fileRecords": [
    ]
}

Document RAG

Returns the generated response based on the document rag query for the requested file identifier

Authorizations:
(AppKeyApiKeyApiSecret)
Request Body schema:
fileGlobalId
string or null
searchString
string or null
fileTypeGroupId
integer <int32>
correlationId
string or null
idempotencyKey
string or null

Responses

Request samples

Content type
{
  • "fileGlobalId": "string",
  • "searchString": "string",
  • "fileTypeGroupId": 0,
  • "correlationId": "string",
  • "idempotencyKey": "string"
}

Response samples

Content type
application/json
{
  • "messageId": "string",
  • "correlationId": "string",
  • "idempotencyKey": "string",
  • "inError": true,
  • "errorType": "string",
  • "messages": [
    ],
  • "generatedText": "string"
}

Search Files

Returns a list of file records matching the vector search parameters

Authorizations:
(AppKeyApiKeyApiSecret)
Request Body schema:
correlationId
string or null
idempotencyKey
string or null
searchString
string or null

Responses

Request samples

Content type
{
  • "correlationId": "string",
  • "idempotencyKey": "string",
  • "searchString": "string"
}

Response samples

Content type
application/json
{
  • "messageId": "string",
  • "correlationId": "string",
  • "idempotencyKey": "string",
  • "inError": true,
  • "errorType": "string",
  • "messages": [
    ],
  • "fileRecords": [
    ]
}

Uploads a file for processing

Uploads a file with for processing, such as KYC documents or contracts. Supports files up to 5MB.

Authorizations:
(AppKeyApiKeyApiSecret)
Request Body schema: multipart/form-data
file
string <binary>

Responses

Request samples


using System.Net.Http;
using System.Text.Json;
using System.Threading.Tasks;

public class FileUploadResponseM
{
    public string? GlobalId { get; set; }
    public string? FileName { get; set; }
}

public async Task<FileUploadResponseM> UploadFileAsync(string filePath)
{
    using var client = new HttpClient();
    client.DefaultRequestHeaders.Add("ob-app-key", "<your-app-key>");
    client.DefaultRequestHeaders.Add("ob-api-key", "<your-api-key>");
    client.DefaultRequestHeaders.Add("ob-api-secret", "<your-api-secret>");

    using var form = new MultipartFormDataContent();
    using var fileContent = new StreamContent(File.OpenRead(filePath));
    form.Add(fileContent, "file", Path.GetFileName(filePath));

    var response = await client.PostAsync("https://api.onboardingbuddy.co/file-service/upload", form);
    response.EnsureSuccessStatusCode();
    var responseContent = await response.Content.ReadAsStringAsync();
    return JsonSerializer.Deserialize<FileUploadResponseM>(responseContent)!;
}

Response samples

Content type
application/json
{
  • "messageId": "string",
  • "correlationId": "string",
  • "idempotencyKey": "string",
  • "inError": true,
  • "errorType": "string",
  • "messages": [
    ],
  • "globalId": "string",
  • "organisationGlobalId": "string",
  • "applicationGlobalId": "string",
  • "fileName": "string",
  • "fileHash": "string",
  • "mimeType": "string",
  • "fileSize": 0,
  • "fileStatus": "string",
  • "active": true
}

sanctions-check

Screens an individual against global sanctions lists

The sanctions check API verifies individuals against the OFAC SDN List. Used for KYC and compliance in fintech and banking.

Authorizations:
(AppKeyApiKeyApiSecret)
Request Body schema: application/json
required

The request payload

firstName
string or null
lastName
string or null
birthYear
string or null

Responses

Request samples

Content type
application/json
{
  • "firstName": "John",
  • "lastName": "Doe",
  • "birthYear": "1970",
  • "correlationId": "req-789",
  • "idempotencyKey": "uniq-012"
}

Response samples

Content type
application/json
{
  • "messageId": "msg-128",
  • "correlationId": "req-789",
  • "idempotencyKey": "uniq-012",
  • "inError": false,
  • "matched": true,
  • "results": [
    ]
}

Perform an entity sanctions check

This action returns the sanctions list response

Authorizations:
(AppKeyApiKeyApiSecret)
Request Body schema: application/json
required

The request payload

name
string or null

Responses

Request samples

Content type
application/json
{
  • "entityName": "Acme Corp",
  • "correlationId": "req-790",
  • "idempotencyKey": "uniq-013"
}

Response samples

Content type
application/json
{
  • "messageId": "string",
  • "correlationId": "string",
  • "idempotencyKey": "string",
  • "inError": true,
  • "errorType": "string",
  • "messages": [
    ],
  • "matched": true,
  • "match": [
    ]
}

Perform a crypto wallet sanctions check

This action returns the sanctions list response

Authorizations:
(AppKeyApiKeyApiSecret)
Request Body schema: application/json
required

The request payload

address
string or null

Responses

Request samples

Content type
application/json
{
  • "address": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
  • "correlationId": "req-791",
  • "idempotencyKey": "uniq-014"
}

Response samples

Content type
application/json
{
  • "messageId": "string",
  • "correlationId": "string",
  • "idempotencyKey": "string",
  • "inError": true,
  • "errorType": "string",
  • "messages": [
    ],
  • "matched": true,
  • "individualMatch": [
    ],
  • "entityMatch": [
    ]
}

Perform a vessel sanctions check

This action returns the sanctions list response

Authorizations:
(AppKeyApiKeyApiSecret)
Request Body schema: application/json
required

The request payload

name
string or null

Responses

Request samples

Content type
application/json
{
  • "name": "Ocean Star"
}

Response samples

Content type
application/json
{
  • "messageId": "string",
  • "correlationId": "string",
  • "idempotencyKey": "string",
  • "inError": true,
  • "errorType": "string",
  • "messages": [
    ],
  • "matched": true,
  • "match": [
    ]
}

Perform an aircraft sanctions check

This action returns the sanctions list response

Authorizations:
(AppKeyApiKeyApiSecret)
Request Body schema: application/json
required

The request payload

name
string or null

Responses

Request samples

Content type
application/json
{
  • "name": "Sky Eagle",
  • "correlationId": "req-793",
  • "idempotencyKey": "uniq-016"
}

Response samples

Content type
application/json
{
  • "messageId": "string",
  • "correlationId": "string",
  • "idempotencyKey": "string",
  • "inError": true,
  • "errorType": "string",
  • "messages": [
    ],
  • "matched": true,
  • "match": [
    ]
}