Onboarding Buddy API (v1)

Download OpenAPI specification:

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

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",
  • "messageId": "2395e0d2-5528-4e16-b983-fb0b186e45b9",
  • "idempotencyKey": "289ea845-7bd7-4acd-b211-76c259ec5aa4"
}

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",
  • "messageId": "2395e0d2-5528-4e16-b983-fb0b186e45b9",
  • "idempotencyKey": "289ea845-7bd7-4acd-b211-76c259ec5aa4"
}

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",
  • "messageId": "2395e0d2-5528-4e16-b983-fb0b186e45b9",
  • "idempotencyKey": "289ea845-7bd7-4acd-b211-76c259ec5aa4"
}

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",
  • "messageId": "2395e0d2-5528-4e16-b983-fb0b186e45b9",
  • "idempotencyKey": "289ea845-7bd7-4acd-b211-76c259ec5aa4"
}

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",
  • "idempotencyKey": "289ea845-7bd7-4acd-b211-76c259ec5aa4"
}

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
{
  • "batchId": "1234-1234-1234-1234",
  • "batchStatus": "Completed",
  • "batchSize": "1",
  • "batchType": "EmailAddress",
  • "createdDate": "2025-01-01 18:00:00",
  • "modifiedDate": "2025-01-01 18:00:00",
  • "processedCount": "5",
  • "errorCount": "0",
  • "resultData": [
    ],
  • "idempotencyKey": "289ea845-7bd7-4acd-b211-76c259ec5aa4"
}

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
{
  • "batchId": "1234-1234-1234-1234",
  • "batchStatus": "Completed",
  • "batchSize": "1",
  • "batchType": "MobileNumber",
  • "createdDate": "2025-01-01 18:00:00",
  • "modifiedDate": "2025-01-01 18:00:00",
  • "processedCount": "1",
  • "errorCount": "0",
  • "resultData": [
    ],
  • "idempotencyKey": "289ea845-7bd7-4acd-b211-76c259ec5aa4"
}

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
{
  • "batchId": "1234-1234-1234-1234",
  • "batchStatus": "Completed",
  • "batchSize": "2",
  • "batchType": "IpAddress",
  • "createdDate": "2025-01-01 18:00:00",
  • "modifiedDate": "2025-01-01 18:00:00",
  • "processedCount": "2",
  • "errorCount": "0",
  • "resultData": [
    ],
  • "idempotencyKey": "289ea845-7bd7-4acd-b211-76c259ec5aa4"
}

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
{
  • "batchId": "1234-1234-1234-1234",
  • "batchStatus": "Completed",
  • "batchSize": "1",
  • "batchType": "Browser",
  • "createdDate": "2025-01-01 18:00:00",
  • "modifiedDate": "2025-01-01 18:00:00",
  • "processedCount": "5",
  • "errorCount": "0",
  • "resultData": [
    ],
  • "idempotencyKey": "289ea845-7bd7-4acd-b211-76c259ec5aa4"
}

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",
  • "messageId": "02c71ca8-4214-455e-b40b-e400d4e5d6db"
}

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",
  • "isDisposableDomain": false,
  • "checkStatus": "Matched",
  • "messageId": "c49131dd-0d85-4f50-9a0b-cb041f833417"
}

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",
  • "messageId": "ef0c1562-fed5-46d5-9d2a-9c135b625eb9"
}

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": "120.19.74.30",
  • "isoCode": "AU",
  • "country": "Australia",
  • "threat": "unknown",
  • "riskLevel": "1",
  • "isTorAddress": "false",
  • "isVpnAddress": "false",
  • "checkStatus": "Matched",
  • "messageId": "20460765-618b-4e52-80f1-06f621152f05"
}

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
{
  • "globalId": "9dddd821-f711-4df3-8822-6d4cc218467c",
  • "mimeType": "application/pdf",
  • "fileHash": "L7tin7xaojSU1qsZSoP+x2LsBuZA67ggIkCjHLDOWchPA73DNr6Bqeo9C28fD9ZOjAk151EnpVhH7BcfXCLpsg==",
  • "fileGroup": "document",
  • "preSignedUrlUtc": "2025-12-25 18:00:00"
}

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": "86392ff9-0d96-4b58-9e35-67c890dca02a",
  • "prompt": "An imagined view of the edge of the universe."
}

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": "352398a1-16a1-4dde-b978-40de4b6802e5",
  • "prompt": "An elephant having a swim in the slow lane of an infinity pool over looking the London Eye"
}

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
correlationId
string or null
idempotencyKey
string or null

Responses

Request samples

Content type
{
  • "fileGlobalId": "496a0aec-60c4-4cc4-aa11-d0d7a7a62c29",
  • "searchString": "Provide a list of the top 2 suburbs in inner city sydney for rentals along with their top attribute"
}

Response samples

Content type
application/json
{
  • "generatedText": "Based on the provided documents, here are two of the top suburbs in inner city Sydney for rentals, along with their top attributes:\n\n1. **Surry Hills:**\n * **Top Attribute:** Strong rental growth. Surry Hills outperformed other fringe submarkets by achieving 4.5% net face growth over the year. It also has a relatively high proportion of high-income earners and is a destination of choice for occupiers and investors.\n\n2. **Chippendale:**\n * **Top Attribute:** Rental growth. Chippendale achieved over 3% net face growth over the year.\n\nThe documents provided also offer information on other suburbs such as Pyrmont, Darlinghurst, Eveleigh, Ultimo and Redfern.\n",
  • "messageId": "db13f131-e1e8-48ba-8c91-20db3f383fef"
}

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
{
  • "searchString": "Information about the property trends"
}

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
{
  • "globalId": "496a0aec-60c4-4cc4-aa11-d0d7a7a62c29",
  • "fileName": "sydney-city-fringe-office-market-july-2024.pdf",
  • "mimeType": "application/pdf",
  • "fileSize": 1621347,
  • "fileStatus": "PROCESSING"
}

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": "Yevgeniy Viktorovich",
  • "lastName": "PRIGOZHIN",
  • "birthYear": "1961"
}

Response samples

Content type
application/json
{
  • "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": "INTERNET RESEARCH AGENCY LLC"
}

Response samples

Content type
application/json
{
  • "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": "0X098B716B8AAF21512996DC57EB0615E2383E2F96"
}

Response samples

Content type
application/json
{
  • "matched": true,
  • "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": "HWANG GUM SAN 2"
}

Response samples

Content type
application/json
{
  • "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": "RA-02791"
}

Response samples

Content type
application/json
{
  • "matched": true,
  • "match": [
    ]
}