The following FAQ is based on the OpenAPI specification for the Onboarding Buddy API, which provides services for validation, file management, and sanctions checks. Below are answers to common questions about the API's functionality, endpoints, and usage.
Q: What is the Onboarding Buddy API?
A: The Onboarding Buddy API is a set of services designed to assist with validation, file management, and sanctions checks. It includes endpoints for validating email addresses, mobile numbers, IP addresses, and browser user agents, managing file uploads and generation, and performing sanctions checks for individuals, entities, crypto wallets, vessels, and aircraft.
Q: What is the base URL for the API?
A: The base URL for the Onboarding Buddy API is https://api.onboardingbuddy.co
.
Q: What version of OpenAPI is used in the specification?
A: The API uses OpenAPI version 3.0.1.
Q: What authentication is required to use the API?
A: All endpoints require three authentication headers: ob-app-key
(App Key), ob-api-key
(Api Key), and ob-api-secret
(Api Secret).
Q: What types of data can I validate using the API?
A: The API supports validation for:
/validation-service/validation/email
)/validation-service/validation/mobile
)/validation-service/validation/ipaddress
)/validation-service/validation/browser
)Q: Can I validate multiple values at once?
A: Yes, the API supports batch validation for email addresses, mobile numbers, IP addresses, and browsers. Use the following endpoints:
POST /validation-service/batch/email-address
POST /validation-service/batch/mobile
POST /validation-service/batch/ip-address
POST /validation-service/batch/browser
Q: How do I check the status of a batch validation request?
A: You can poll the status of a batch using the GET /validation-service/batch/poll/{batchId}
endpoint, providing the batchId
returned from the batch submission.
Q: How do I retrieve the results of a batch validation?
A: Use the following endpoints to retrieve batch results, specifying the batchId
:
GET /validation-service/batch/email-address/{batchId}
GET /validation-service/batch/mobile/{batchId}
GET /validation-service/batch/ip-address/{batchId}
GET /validation-service/batch/browser/{batchId}
Q: What happens if my validation request contains errors?
A: If the payload is null or contains validation errors, the API will return a 400
status code with details in the response.
Q: What information is returned for an email validation?
A: The email validation response (EmailAddressResponseM
) includes fields like emailAddress
, emailStatus
, freeEmail
, domain
, mxFound
, mxRecord
, isDisposableDomain
, and sanctionRecord
, along with metadata like messageId
, correlationId
, and checkStatus
.
Q: What details are provided in a mobile number validation response?
A: The mobile number validation response (MobileNumberResponseM
) includes fields such as mobileNumber
, valid
, localFormat
, internationalFormat
, countryPrefix
, countryCode
, carrier
, lineType
, and checkStatus
.
Q: What does the IP address validation response include?
A: The IP address validation response (IpAddressResponseM
) includes fields like ipAddress
, isoCode
, country
, threat
, riskLevel
, isTorAddress
, isVpnAddress
, and checkStatus
.
Q: What information is returned for browser validation?
A: The browser validation response (BrowserResponseM
) includes fields such as userAgent
, simpleSoftware
, software
, softwareName
, operatingSystem
, operatingSystemVersion
, isAbusive
, and checkStatus
.
Q: What file-related operations are supported by the API?
A: The API supports:
POST /file-service/upload
GET /file-service/download/{fileGlobalId}
POST /file-service/generate/image
POST /file-service/generate/video
GET /file-service/generate/poll/{globalId}
GET /file-service/management/{fileGlobalId}
DELETE /file-service/management/{fileGlobalId}
GET /file-service/management
POST /file-service/search
POST /file-service/query/rag
Q: How do I upload a file?
A: Use the POST /file-service/upload
endpoint with a multipart/form-data
request containing the file as a binary. The response (FileUploadResponseM
) includes metadata like globalId
, fileName
, fileHash
, mimeType
, and fileStatus
.
Q: Can I generate images or videos using the API?
A: Yes, you can generate images using POST /file-service/generate/image
with a prompt, and videos using POST /file-service/generate/video
with a prompt or an image and prompt. Both return a GenerateFileResponseM
with a fileGlobalId
and status
.
Q: How do I check the status of a file generation request?
A: Use the GET /file-service/generate/poll/{globalId}
endpoint, providing the globalId
from the generation request. The response (PollFileResponseM
) includes fileStatus
, fileHash
, and createdDate
.
Q: How can I download a file?
A: Use the GET /file-service/download/{fileGlobalId}
endpoint with the fileGlobalId
. The response (FileDownloadRecordM
) includes a preSignedUrl
for downloading the file, valid until preSignedUrlUtc
.
Q: What happens if I request a file that doesn’t exist?
A: The GET /file-service/download/{fileGlobalId}
endpoint will return a 404
status code if the requested file does not exist.
Q: How do I delete a file?
A: Use the DELETE /file-service/management/{fileGlobalId}
endpoint with the fileGlobalId
. A successful deletion returns a 204
status code.
Q: Can I search for files?
A: Yes, use the POST /file-service/search
endpoint with a SearchFileRequestM
payload containing a searchString
. The response (SearchFileResponseM
) returns a list of matching file records with metadata like fileName
, mimeType
, and distance
.
Q: What is the Document RAG feature?
A: The POST /file-service/query/rag
endpoint allows you to perform a Retrieval-Augmented Generation (RAG) query on a specific file, identified by fileGlobalId
, using a searchString
. The response (RagQueryResponseM
) includes generatedText
based on the query.
Q: What types of sanctions checks can I perform?
A: The API supports sanctions checks for:
POST /sanction-service/check/individual
POST /sanction-service/check/entity
POST /sanction-service/check/crypto-wallet
POST /sanction-service/check/vessel
POST /sanction-service/check/aircraft
Q: What information is required for an individual sanctions check?
A: The IndividualSanctionsCheckRequestM
requires firstName
, lastName
, and optionally birthYear
.
Q: What details are returned in a sanctions check response?
A: Sanctions check responses (e.g., IndividualSanctionsCheckResponseM
, EntitySanctionsCheckResponseM
) include fields like matched
(boolean), match
or results
(array of sanction records), and metadata like messageId
, correlationId
, and inError
. Sanction records may include details like fullName
, program
, aliasList
, nationality
, and secondarySanctionsRisk
.
Q: What happens if a sanctions check request is invalid?
A: If the payload is null or contains validation errors, the API returns a 400
status code.
Q: What does a 400 error mean?
A: A 400
status code indicates that the request payload is null or contains validation errors. Check the response body for specific error messages.
Q: What does a 404 error mean in the file service?
A: A 404
status code from the GET /file-service/download/{fileGlobalId}
endpoint means the requested file does not exist.
Q: How is authentication handled in the API?
A: All endpoints require three headers: ob-app-key
, ob-api-key
, and ob-api-secret
. These must be included in every request for authentication.
Q: What happens if I don’t provide the required authentication headers?
A: Without the required AppKey
, ApiKey
, and ApiSecret
headers, the API will reject the request, likely with an authentication error.
Q: What is the structure of a batch validation response?
A: The SubmitBatchResponseM
schema includes fields like batchId
, batchStatus
(enum: 1, 2, 3, 4), messageId
, correlationId
, idempotencyKey
, inError
, and messages
.
Q: What fields are included in a file record?
A: The FileRecordM
schema includes fields like globalId
, organisationGlobalId
, applicationGlobalId
, fileName
, mimeType
, originType
, fileSize
, fileStatus
, fileHash
, prompt
, title
, description
, tags
, and createdDate
.
Q: How are idempotency keys used in the API?
A: Many endpoints support an idempotencyKey
in the request payload to ensure that repeated requests with the same key do not result in duplicate actions. This is useful for retrying requests safely.
Q: Can you provide an example of an email validation request?
A: Here’s an example request to POST /validation-service/validation/email
:
{
"emailAddress": "support@onboardingbuddy.co",
"correlationId": "12345",
"idempotencyKey": "abcde"
}
The response might look like:
{
"emailAddress": "support@onboardingbuddy.co",
"emailStatus": "Valid",
"freeEmail": false,
"domain": "onboardingbuddy.co",
"mxFound": true,
"mxRecord": "mail.onboardingbuddy.co",
"isDisposableDomain": false,
"checkStatus": "Matched"
}
Q: Can you provide an example of a file upload request?
A: For POST /file-service/upload
, send a multipart/form-data
request with a file. The response might be:
{
"globalId": "ff0fd726-6ccb-4a2b-beff-2519a0a2b696",
"fileName": "example.png",
"mimeType": "image/png",
"fileSize": 1543425,
"fileStatus": "PROCESSED",
"fileHash": "zJBDrBEkTUUwuCcoEPD8K...",
"active": true
}
Q: Can you provide an example of an image generation request?
A: For POST /file-service/generate/image
:
{
"prompt": "A space rocket 3 seconds into launch heading into the night sky",
"idempotencyKey": "f1bcbcb3-6d47-455e-afae-ac236bf73c11"
}
The response might be:
{
"fileGlobalId": "ff0fd726-6ccb-4a2b-beff-2519a0a2b696",
"status": "SUBMITTED",
"idempotencyKey": "f1bcbcb3-6d47-455e-afae-ac236bf73c11"
}
If you have further questions or need clarification on specific endpoints or schemas, please let us know!
Email us at support@onboardingbuddy.co
Code samples using C#, Python, Typescript can be found in our Getting Started documentation