Sikoia Income & Employer Verification API
The Income & Employer Verification API from Sikoia — 4 operation(s) for income & employer verification.
The Income & Employer Verification API from Sikoia — 4 operation(s) for income & employer verification.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/sikoia-income-employer-verification-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Sikoia Adverse Media Income & Employer Verification API
termsOfService: https://sikoia.com/About/Terms
version: '1.0'
servers:
- url: https://api.sikoia.com
description: API (Production)
- url: https://oauth2.sikoia.com
description: Authorization Server (Production)
- url: https://api-staging.sikoia.com
description: API (Staging)
- url: https://oauth2-staging.sikoia.com
description: Authorization Server (Staging)
security:
- authorizationHeader: []
- apiKeyHeader: []
tags:
- name: Income & Employer Verification
paths:
/v2/income-employer:
post:
tags:
- Income & Employer Verification
summary: Request income & employer verification
description: '### Requests an income and employer verification for a case, person, or company
This endpoint automatically verifies an entity’s income from various sources including documents and open banking connections.
To proceed, ensure that both `entity_id` and `entity_type` are valid and ensure that at least one income-related document or open banking connection has been attached to the entity.
A successful response will include a `request_id` that can be used to check the status of the request.
'
operationId: POST_v2-income-employer
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/SikoiaSharedModels.EndUser.IncomeEmployer.Request.IncomeEmployerRequest'
example:
entity_id: 473078e-e392-4943-9ea9-efe7590eb503
entity_type: case
responses:
'201':
description: The income request is pending
content:
application/json:
schema:
$ref: '#/components/schemas/SikoiaSharedModels.EndUser.IncomeEmployer.Response.IncomeEmployerResponse'
example:
request_id: 8ef5079a-b3de-44a5-b4ff-c534259e752c
status: Pending
entity_id: b3f6ed8f-bc57-4a23-801e-e744aecb7b03
entity_type: case
datetime_requested: '2024-01-01T12:38:45.7110000+00:00'
datetime_completed: '2024-01-02T12:22:07.7470000+00:00'
message: Income request pending
'400':
description: Entity Deleted/Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/SikoiaCore.Common.SikoiaErrorResponse'
example:
type: InvalidRequest
status: 400
title: Validation Errors
detail: Entity Id is required.
correlation_id: b10206b6-1f88-49ce-bae8-41a86d4a2652
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/SikoiaCore.Common.SikoiaErrorResponse'
example:
type: InvalidToken
status: 401
title: Invalid Token
detail: Invalid token
correlation_id: 57fc27f4-fd09-484c-af3d-2226a31a70b4
'403':
description: Income Employer Service not enabled
content:
application/json:
schema:
$ref: '#/components/schemas/SikoiaCore.Common.SikoiaErrorResponse'
example:
type: InsufficientPermissions
status: 403
title: Service not enabled
detail: Service is not currently enabled.
correlation_id: 051565d3-e71e-4354-ab7d-18a22f062488
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/SikoiaCore.Common.SikoiaErrorResponse'
example:
type: RateLimit
status: 429
title: Too Many Requests
detail: You've exceeded the maximum API request limit per minute. Please try again later.
correlation_id: b77a6768-9b44-4c2d-b4dd-aac635537fcd
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/SikoiaCore.Common.SikoiaErrorResponse'
example:
type: ServerError
status: 500
title: Internal Server Error
detail: Something has gone wrong, please try again
correlation_id: 07e52f5f-f19e-4bb6-b191-d0b65d96ab6f
/v2/{entity_type}/{entity_id}/income-employer:
get:
tags:
- Income & Employer Verification
summary: List all income & employer verifications
description: '### This returns a list of all the income employer requests for the specified entity.
Returns a list of all income & employer verifications requested for an entity.
The list includes the `request_id` for each request, which can be used to retrieve the income and employer verification using the GET `/v2/income-employer/{request_id}` endpoint.
'
operationId: GET_v2-entity_type-entity_id-incomeemployer
parameters:
- name: entity_type
in: path
description: Entity Type
required: true
schema:
enum:
- Companies
- Persons
- Cases
type: string
- name: entity_id
in: path
description: Entity ID
required: true
schema:
type: string
responses:
'200':
description: Income Employer Requests
content:
application/json:
schema:
$ref: '#/components/schemas/SikoiaSharedModels.EndUser.IncomeEmployer.Response.OrchestrationListResponse'
example:
entity_id: 3345857d-fa2b-43ab-8b15-67e5fea8e896
entity_type: case
income_employer_requests:
- request_id: w5f84a41-01cf-4d21-901d-124c5a7c743a
status: Complete
datetime_requested: '2024-01-29T12:21:52.9330000+00:00'
datetime_completed: '2024-01-30T09:44:22.4660000+00:00'
message: Income Employer complete
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/SikoiaCore.Common.SikoiaErrorResponse'
example:
type: InvalidToken
status: 401
title: Invalid Token
detail: Invalid token
correlation_id: 34c972c5-5c53-4967-8891-eb29cbb38372
'404':
description: Entity not found
content:
application/json:
schema:
$ref: '#/components/schemas/SikoiaCore.Common.SikoiaErrorResponse'
example:
type: ResourceNotFound
status: 404
title: Resource Not Found
detail: No resources found with id d9b5dedb-6541-405a-bd57-134ca39a4149.
correlation_id: 81bcd82c-5f87-447b-bdfa-2ec35ba67b70
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/SikoiaCore.Common.SikoiaErrorResponse'
example:
type: RateLimit
status: 429
title: Too Many Requests
detail: You've exceeded the maximum API request limit per minute. Please try again later.
correlation_id: 3cb70b1c-c44e-4256-97a3-c9bd9713b6bd
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/SikoiaCore.Common.SikoiaErrorResponse'
example:
type: ServerError
status: 500
title: Internal Server Error
detail: Something has gone wrong, please try again
correlation_id: 6ed01b71-ad4c-497d-a06f-dc44f17f2e67
/v2/income-employer/{request_id}:
get:
tags:
- Income & Employer Verification
summary: Retrieve income & employer verification
description: '### Returns an income & employer verification.
This endpoint returns the income & employer verification associated with a specific `request_id`.
'
operationId: GET_v2-income-employer-request_id
parameters:
- name: request_id
in: path
description: ''
required: true
schema:
type: string
responses:
'200':
description: Income Employer
content:
application/json:
schema:
$ref: '#/components/schemas/SikoiaSharedModels.EndUser.IncomeEmployer.Response.Overview.IncomeEmployerMappedResponse'
example:
request_id: 8ef5079a-b3de-44a5-b4ff-c534259e752c
status: Pending
entity_id: b3f6ed8f-bc57-4a23-801e-e744aecb7b03
entity_type: case
datetime_requested: '2024-01-01T12:38:45.7110000+00:00'
datetime_completed: '2024-01-02T12:22:07.7470000+00:00'
message: Income request pending
data:
income_details:
- income_recipient: Sharon Smith
income_type: Employment
income_source: BUILDING HOME LTD
annual_gross_pay: '23657.04'
monthly_gross_pay: '1971.42'
monthly_deductions: '319.49'
monthly_net_pay: '1561.93'
pay_frequencies:
- string
national_insurance_number:
- string
national_insurance_letters:
- string
unique_taxpayer_references:
- string
job_titles:
- string
tax_codes:
- string
paye_references:
- string
employee_numbers:
- string
ytd_gross_pay: '22472.85'
ytd_net_pay: '18070.33'
ytd_tax_paid: '1100.63'
ytd_ni_paid: '1100.63'
ytd_pension_paid: '1100.63'
ytd_other_deductions: '1100.63'
additional_information:
bonuses:
- amount: '222.22'
date: '2024-01-01'
monthly_student_loan_deductions: '222.44'
monthly_gross_pay_details:
- category: MonthlyBasicPay
amount: '222.44'
monthly_deductions_details:
- category: MonthlyIncomeTax
amount: '167.15'
average_income_items:
- category: PayFromAllEmployments
value: '1971.42'
average_tax_items:
- category: Tax
short_description: Class 4 NIC
value: '1971.42'
income_source_addresses:
- summary_line: Flat 23, Sample Street, London
post_code: SW4 4PL
employee_addresses:
- summary_line: 19, Sample Street, London
post_code: SW1 1PN
income_data_sources:
- source_type: Payslip
number_of_sources: '1'
start_date: '2024-01-01'
end_date: '2024-02-01'
data_sources:
- source_name: Stmt - current - Feb 2023 - J Smith and J Hayley
source_id: 4b9ac393-d34b-4a14-9ee3-88ce2d244e90
source_category_type: Document
source_type: Payslip
data_sources:
- source_name: Stmt - current - Feb 2023 - J Smith and J Hayley
source_id: 4b9ac393-d34b-4a14-9ee3-88ce2d244e90
source_category_type: Document
source_type: Payslip
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/SikoiaCore.Common.SikoiaErrorResponse'
example:
type: InvalidToken
status: 401
title: Invalid Token
detail: Invalid token
correlation_id: 8b9df2bb-c107-4a12-b0b7-747882c21de5
'404':
description: Request ID not found
content:
application/json:
schema:
$ref: '#/components/schemas/SikoiaCore.Common.SikoiaErrorResponse'
example:
type: ResourceNotFound
status: 404
title: Resource Not Found
detail: No resources found with id 03f4fd05-45d9-4d2e-ab62-694799e0ce00.
correlation_id: e242fc86-f42d-4186-ad55-aa43fc3b6701
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/SikoiaCore.Common.SikoiaErrorResponse'
example:
type: RateLimit
status: 429
title: Too Many Requests
detail: You've exceeded the maximum API request limit per minute. Please try again later.
correlation_id: b21530fe-b761-48cc-991d-0d844828e809
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/SikoiaCore.Common.SikoiaErrorResponse'
example:
type: ServerError
status: 500
title: Internal Server Error
detail: Something has gone wrong, please try again
correlation_id: 0cac9510-4791-42bc-b1d7-9e5ba0dfb02d
/v2/income-employer/{request_id}/additional-details:
get:
tags:
- Income & Employer Verification
summary: Retrieve detailed payslip, bank statement, tax documents and/or open banking connection data
description: '### Returns detailed data from individual payslips, bank statements, tax documents and/or open banking connections behind an income & employer verification.
This endpoint returns data from all the individual payslips, bank statements, tax documents and/or open banking connections used to generate a specific income & employer verification identified by a unique `request_id`.
'
operationId: GET_v2-income-employer-request_id-additional-details
parameters:
- name: request_id
in: path
description: ''
required: true
schema:
type: string
responses:
'200':
description: Income Employer Additional Details
content:
application/json:
schema:
$ref: '#/components/schemas/SikoiaSharedModels.EndUser.IncomeEmployer.Response.AdditionalDetails.IncomeEmployerAdditionalDetailsResponse'
example:
request_id: 8ef5079a-b3de-44a5-b4ff-c534259e752c
status: Pending
entity_id: b3f6ed8f-bc57-4a23-801e-e744aecb7b03
entity_type: case
datetime_requested: '2024-01-01T12:38:45.7110000+00:00'
datetime_completed: '2024-01-02T12:22:07.7470000+00:00'
message: Income request pending
data:
- income_recipient: Sharon Smith
income_type: Employment
income_source: BUILDING HOME LTD
details:
- source_type: Payslip
source_id: 4b9ac393-d34b-4a14-9ee3-88ce2d244e90
data_source_id: 01951375-a680-77ce-b196-44d1feedc47c
source_name: Stmt - current - Feb 2023 - J Smith and J Hayley.pdf
income_source_data:
payslip_date: '2024-01-31'
pay_period_start_date: '2024-01-01'
pay_period_end_date: '2024-01-31'
payment_date: '2024-01-31'
start_date: '2024-01-01'
end_date: '2024-04-01'
pay_frequency: Monthly
pay_period: '5'
gross_pay: '1971.42'
total_deductions: '319.49'
net_pay: Basic Pay
national_insurance_number: QQ123456B
national_insurance_letter: Q
unique_taxpayer_reference: '1234567890'
tax_code: 1257L
paye_reference: 123/AB456
employee_name: Sharon Smith
employer_name: BUILDING HOME LTD
employee_number: '1234567890'
job_title: Customer Services Officer
income_source_address:
summary_line: Flat 23, Sample Street, London
post_code: SW4 4PL
employee_address:
summary_line: 19, Sample Street, London
post_code: SW1 1PN
ytd_gross_pay: '7000.00'
ytd_net_pay: '2600.00'
ytd_tax_paid: '1100.00'
ytd_ni_paid: '1100.00'
ytd_pension_paid: '1100.00'
ytd_other_deductions: '1100.00'
detailed_pay_items:
- category: BasicPay
short_description: January Salary
value: '1971.42'
rate: '1'
quantity: '1'
detailed_deduction_items:
- category: IncomeTax
short_description: PAYE
value: '319.49'
tax_information:
summary:
employment_income: '21843.00'
total_income: '48933.00'
net_income: '47437.30'
allowances_and_reliefs: '12570.00'
tax_due: '3348.70'
income:
income_from_employments: '21843.00'
income_from_benefits: 0
allowable_expenses: 0
non_employment_income:
share_schemes: 0
profit_from_self_employment: 0
profit_from_partnerships: 0
interest_from_partnerships: 0
dividends_from_partnerships: 0
profit_from_uk_land_and_property: '14590.00'
foreign_income: 0
foreign_dividends: 0
foreign_savings: 0
trusts_and_estates: 0
interest_from_uk_banks: 0
dividends_from_uk_companies: '12500.00'
uk_pensions_and_state_benefits: 0
gains_on_life_insurance_policies: 0
other_income: 0
subtotal: '27090.00'
total: '48933.00'
tax_and_charges:
tax_charged_before_reliefs: '5560-10-01'
tax_charged_after_reliefs: '3348.70'
tax_relief_for_financing_costs: '-1959.40'
other_tax_reductions_and_reliefs: '-252.00'
national_insurance: 0
student_loan_repayments: 0
capital_gains_tax: 0
other_amounts_paid_via_tax: 0
total_tax_due: '3348.70'
tax_deducted: '-1853.00'
net_tax_due: '1495.70'
payments:
tax_already_paid_for_this_year: 0
outstanding_from_last_year: 0
balancing_payment_for_this_year: 0
first_payment_on_account_for_next_year: 0
second_payment_on_account_for_next_year: 0
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/SikoiaCore.Common.SikoiaErrorResponse'
example:
type: InvalidToken
status: 401
title: Invalid Token
detail: Invalid token
correlation_id: 7d2e0b5e-02dc-40f8-ab9b-56868b9b6665
'404':
description: Request ID not found
content:
application/json:
schema:
$ref: '#/components/schemas/SikoiaCore.Common.SikoiaErrorResponse'
example:
type: ResourceNotFound
status: 404
title: Resource Not Found
detail: No resources found with id e2a97946-247e-4b1e-81f4-fa347d4455c8.
correlation_id: c589cfd2-d403-49a4-81f7-ae678cc8582e
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/SikoiaCore.Common.SikoiaErrorResponse'
example:
type: RateLimit
status: 429
title: Too Many Requests
detail: You've exceeded the maximum API request limit per minute. Please try again later.
correlation_id: e6c35586-4c0e-495c-9ee3-3656b8cc0275
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/SikoiaCore.Common.SikoiaErrorResponse'
example:
type: ServerError
status: 500
title: Internal Server Error
detail: Something has gone wrong, please try again
correlation_id: 5c137f9e-769b-47f1-8fe4-b8697429b278
components:
schemas:
SikoiaSharedModels.EndUser.IncomeEmployer.Request.IncomeEmployerRequest:
title: Income Employer Request
required:
- entity_id
- entity_type
type: object
properties:
entity_id:
minLength: 1
type: string
description: The `company_id`, `person_id` or `case_id` of the entity
example: 473078e-e392-4943-9ea9-efe7590eb503
entity_type:
minLength: 1
enum:
- company
- person
- case
type: string
description: The type of entity
example: case
additionalProperties: false
SikoiaSharedModels.EndUser.IncomeEmployer.Response.IncomeEmployerResponse:
title: Income Employer Response
type: object
properties:
request_id:
type:
- string
- 'null'
description: The unique Sikoia identifier for the request.
example: 8ef5079a-b3de-44a5-b4ff-c534259e752c
status:
type:
- string
- 'null'
description: The current status of the request, which can be `Pending`, or `Failed`.
example: Pending
entity_id:
type:
- string
- 'null'
description: The `company_id`, `person_id` or `case_id` of the entity.
example: b3f6ed8f-bc57-4a23-801e-e744aecb7b03
entity_type:
enum:
- company
- person
- case
type:
- string
- 'null'
description: The type of entity.
example: case
datetime_requested:
type:
- string
- 'null'
description: The date and time when the request was initiated.
example: '2024-01-01T12:38:45.711Z'
datetime_completed:
type:
- string
- 'null'
description: The date and time when the request was completed.
example: '2024-01-02T12:22:07.747Z'
message:
type:
- string
- 'null'
description: Additional details or context about the request.
example: Income request pending
additionalProperties: false
SikoiaSharedModels.EndUser.IncomeEmployer.Response.AdditionalDetails.DetailedDeductionItem:
type: object
properties:
category:
type:
- string
- 'null'
description: Sikoia’s categorisation of the deduction type(`IncomeTax` `EmployeePension` `EmployerPension` `NationalInsurance` `StudentLoan` `OtherLoans` `HealthInsurance` `Childcare` `ChildcareVouchers` `SalarySacrifice` `Other`)
example: IncomeTax
short_description:
type:
- string
- 'null'
description: The description of the deduction item, as stated on the payslip.
example: PAYE
value:
type:
- number
- 'null'
description: The value of the deduction item, as stated on the payslip.
format: double
example: '319.49'
additionalProperties: false
SikoiaSharedModels.EndUser.IncomeEmployer.Response.AdditionalDetails.Detail:
type: object
properties:
source_type:
type:
- string
- 'null'
description: The specific type of data identified, such as `Payslip`, `BankStatement`, `BankAccount`, `SA302`, `TaxOverview`.
example: Payslip
source_id:
type:
- string
- 'null'
description: The ID of the primary data source, such as a document ID for files (e.g. payslips) or an account connection ID for an open banking connection.
example: 4b9ac393-d34b-4a14-9ee3-88ce2d244e90
data_source_id:
type: string
description: A unique identifier for a specific data source within a document, such as an individual payslip in a multi-payslip file or an individual bank statement in a multi-statement document.
readOnly: true
example: 01951375-a680-77ce-b196-44d1feedc47c
source_name:
type:
- string
- 'null'
description: Optional. The name of the data source (e.g. a file name like 'Payslip Jane Smith') or null if no specific name is provided (e.g. for banking connections).
example: Stmt - current - Feb 2023 - J Smith and J Hayley.pdf
income_source_data:
$ref: '#/components/schemas/SikoiaSharedModels.EndUser.IncomeEmployer.Response.IncomeSourceData'
additionalProperties: false
SikoiaSharedModels.EndUser.IncomeEmployer.Response.AdditionalDetails.IncomeEmployeeAddress:
type: object
properties:
summary_line:
type:
- string
- 'null'
description: The address of the employer, as stated on the payslip.
example: 19, Sample Street, London
post_code:
type:
- string
- 'null'
description: The postcode of the employer, as stated on the payslip.
example: SW1 1PN
additionalProperties: false
SikoiaSharedModels.EndUser.IncomeEmployer.Response.Overview.DeductionItem:
type: object
properties:
category:
type:
- string
- 'null'
description: Sikoia’s categorisation of the deduction type(`MonthlyIncomeTax` `MonthlyEmployeePension` `MonthlyEmployerPension` `MonthlyNationalInsurance` `MonthlyStudentLoan` `MonthlyHealthInsurance` `MonthlyOtherLoans` `MonthlyChildcare` `MonthlyChildcareVouchers` `MonthlySalarySacrifice` `MonthlyOtherDeductions`)
example: MonthlyIncomeTax
amount:
type:
- number
- 'null'
description: The amount of the deduction for the specified category.
format: double
example: '167.15'
additionalProperties: false
SikoiaSharedModels.EndUser.IncomeEmployer.Response.Overview.IncomeEmployerMappedResponse:
title: Income Employer Response
type: object
properties:
request_id:
type:
- string
- 'null'
description: The unique Sikoia identifier for the request.
example: 8ef5079a-b3de-44a5-b4ff-c534259e752c
status:
type:
- string
- 'null'
description: The current status of the request, which can be `Pending`, `Complete`, or `Failed`.
example: Pending
entity_id:
type:
- string
- 'null'
description: The `company_id`, `person_id` or `case_id` of the entity.
example: b3f6ed8f-bc57-4a23-801e-e744aecb7b03
entity_type:
enum:
- company
- person
- case
type:
- string
- 'null'
description: The type of entity.
example: case
datetime_requested:
type:
- string
- 'null'
description: The date and time when the request was initiated.
example: '2024-01-01T12:38:45.711Z'
datetime_completed:
type:
- string
- 'null'
description: The date and time when the request was completed.
example: '2024-01-02T12:22:07.747Z'
message:
type:
- string
- 'null'
description: Additional details or context about the request.
example: Income request pending
data:
$ref: '#/components/schemas/SikoiaSharedModels.EndUser.IncomeEmployer.Response.Overview.Data'
additionalProperties: false
SikoiaSharedModels.EndUser.IncomeEmployer.Response.AdditionalDetails.TaxInformationPayments:
type: object
properties:
tax_already_paid_for_this_year:
type:
- number
- 'null'
description: Any tax payments already made towards the oustanding balance owed
format: double
outstanding_from_last_year:
type:
- number
- 'null'
description: Any tax payments still owed from the previous financial year
format: double
balancing_payment_for_this_year:
type:
- number
- 'null'
description: Any tax still outstanding before January 31st following the end of the tax year before penalties/interest may start being charged
format: double
first_payment_on_account_for_next_year:
type:
- number
- 'null'
description: Any payment on account due by the 31st of January at the end of the current tax year
format: double
second_payment_on_account_for_next_year:
type:
- number
- 'null'
description: Any payment on account due by 31st July for the previous tax year
format: double
additionalProperties: false
SikoiaSharedModels.EndUser.IncomeEmployer.Response.Overview.IncomeDataSource:
type: object
properties:
source_type:
type:
- string
- 'null'
description: The specific type of data identified, such as `Payslip`, `BankStatement`, `BankAccount`, `SA302`, `TaxOverview`.
readOnly: true
example: Payslip
number_of_sources:
type: integer
description: The number of data sources.
format: int32
example: '1'
start_date:
type:
# --- truncated at 32 KB (71 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sikoia/refs/heads/main/openapi/sikoia-income-employer-verification-api-openapi.yml