Credentially DBS API
DBS check lookup and refresh endpoints
DBS check lookup and refresh endpoints
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/credentially-dbs-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: Credentially Public Compliance-packages DBS API
description: Public API Proxy with Rate Limiting and Audit
version: 2.0.0
servers:
- url: https://app.credentially.io/gateway
description: Generated server url
tags:
- name: DBS
description: DBS check lookup and refresh endpoints
paths:
/api/dbs/{profileId}:
get:
tags:
- DBS
summary: Get Profile DBS Checks
description: 'Returns all DBS checks for the requested profile in the authenticated organisation context. The public `profileId` path parameter maps to the upstream `employeePublicId`.
**Rate Limit:** `profile-dbs-load` (100 req / 1s)'
operationId: getProfileDbsChecks
parameters:
- name: profileId
in: path
description: Credentially profile ID. This maps to the upstream employeePublicId.
required: true
schema:
type: string
example: a7b80d86-92ad-452b-8b30-580146e5e1fb
- name: X-API-Version
in: header
schema:
type: string
default: 2.0.0
enum:
- 2.0.0
responses:
'200':
description: DBS checks retrieved successfully
content:
'*/*':
schema:
type: array
items:
$ref: '#/components/schemas/DbsCheckDto'
examples:
dbsChecks:
description: dbsChecks
value:
- id: 501
certificateNumber: '001122334455'
status: NEW_INFO
surname: Doe
forename: Jane
printDate: '2026-04-01'
organisationId: 100
requestAttempts: 1
lastCheckDateTime: '2026-04-01T12:08:10.178Z'
createDateTime: '2026-04-01T12:08:10.178Z'
level: Enhanced
'404':
description: Returned when the profile has no DBS checks or when the upstream profile cannot be found
'500':
description: Internal server error
'429':
description: Too many requests - the rate limit for this endpoint has been exceeded. Use the Retry-After header to determine when to retry.
headers:
Retry-After:
description: Number of seconds to wait before retrying the request.
schema:
type: integer
format: int32
example: 1
security:
- bearer-key: []
post:
tags:
- DBS
summary: Create Or Refresh Profile DBS Check
description: 'Creates or refreshes a DBS check for the requested profile in the authenticated organisation context. The public `profileId` path parameter maps to the upstream `employeePublicId`. Provide the certificate details exactly as shown on the DBS certificate.
**Rate Limit:** `profile-dbs-load` (100 req / 1s)'
operationId: updateProfileDbsCheck
parameters:
- name: profileId
in: path
description: Credentially profile ID. This maps to the upstream employeePublicId.
required: true
schema:
type: string
example: a7b80d86-92ad-452b-8b30-580146e5e1fb
- name: X-API-Version
in: header
schema:
type: string
default: 2.0.0
enum:
- 2.0.0
requestBody:
description: Certificate details used to create or refresh the DBS check
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDbsCheckRequest'
examples:
updateDbsCheckRequest:
description: updateDbsCheckRequest
value:
certificateNumber: '001122334455'
birthDate: '1990-01-15'
employeeSurname: Doe
issueDate: '2026-04-01'
required: true
responses:
'200':
description: DBS check updated successfully
content:
'*/*':
schema:
$ref: '#/components/schemas/DbsCheckDto'
examples:
updatedDbsCheck:
description: updatedDbsCheck
value:
id: 501
certificateNumber: '001122334455'
status: NON_BLANK_NO_NEW_INFO
surname: Doe
forename: Jane
printDate: '2026-04-01'
organisationId: 100
requestAttempts: 3
lastCheckDateTime: '2026-04-01T12:08:10.178Z'
createDateTime: '2026-04-01T12:08:10.178Z'
'400':
description: Invalid request data
'404':
description: Profile not found in the authenticated organisation context
'429':
description: Too many DBS refresh attempts for the submitted certificate
headers:
Retry-After:
description: Number of seconds to wait before retrying the request.
schema:
type: integer
format: int32
example: 1
'500':
description: Internal server error
security:
- bearer-key: []
/api/dbs/{profileId}/{dbsCheckId}:
get:
tags:
- DBS
summary: Get Profile DBS Check
description: 'Returns a single DBS check for the requested profile in the authenticated organisation context. The public `profileId` path parameter maps to the upstream `employeePublicId`.
**Rate Limit:** `profile-dbs-by-id` (100 req / 1s)'
operationId: getProfileDbsCheck
parameters:
- name: profileId
in: path
description: Credentially profile ID. This maps to the upstream employeePublicId.
required: true
schema:
type: string
example: a7b80d86-92ad-452b-8b30-580146e5e1fb
- name: dbsCheckId
in: path
description: Credentially DBS check ID for a single DBS result.
required: true
schema:
type: integer
format: int64
example: 501
- name: X-API-Version
in: header
schema:
type: string
default: 2.0.0
enum:
- 2.0.0
responses:
'200':
description: DBS check retrieved successfully
content:
'*/*':
schema:
$ref: '#/components/schemas/DbsCheckDto'
examples:
dbsCheck:
description: dbsCheck
value:
id: 501
certificateNumber: '001122334455'
status: NEW_INFO
surname: Doe
forename: Jane
printDate: '2026-04-01'
organisationId: 100
requestAttempts: 1
lastCheckDateTime: '2026-04-01T12:08:10.178Z'
createDateTime: '2026-04-01T12:08:10.178Z'
level: Enhanced
'404':
description: Returned when the DBS check cannot be found or when the upstream profile cannot be found
'500':
description: Internal server error
'429':
description: Too many requests - the rate limit for this endpoint has been exceeded. Use the Retry-After header to determine when to retry.
headers:
Retry-After:
description: Number of seconds to wait before retrying the request.
schema:
type: integer
format: int32
example: 1
security:
- bearer-key: []
components:
schemas:
UpdateDbsCheckRequest:
type: object
properties:
certificateNumber:
type: string
description: DBS certificate number
example: '001122334455'
minLength: 1
pattern: \d{12}
birthDate:
type: string
format: date
description: Profile birth date
example: '1990-01-15'
employeeSurname:
type: string
description: Profile surname used for the DBS request
example: Doe
maxLength: 60
minLength: 0
pattern: ^[A-Za-z0-9\- ']*$
issueDate:
type: string
format: date
description: Issue date to send when no downstream print date is returned
example: '2026-04-01'
required:
- birthDate
- certificateNumber
- employeeSurname
DbsCheckDto:
type: object
description: DBS check payload returned by the Credentially public API.
properties:
id:
type: integer
format: int64
description: Credentially DBS check identifier.
example: 501
certificateNumber:
type: string
description: DBS certificate number used for the check.
example: '001122334455'
status:
type: string
description: Current DBS status for this certificate lookup.
enum:
- BLANK_NO_NEW_INFO
- NON_BLANK_NO_NEW_INFO
- NEW_INFO
- UNKNOWN
- NO_MATCH_FOUND
example: NEW_INFO
surname:
type: string
description: Surname returned for the DBS check.
example: Doe
forename:
type: string
description: Forename returned for the DBS check.
example: Jane
printDate:
type: string
format: date
description: Date printed on the DBS certificate.
example: '2026-04-01'
organisationId:
type: integer
format: int64
description: Credentially organisation identifier that owns the DBS check.
example: 100
requestAttempts:
type: integer
format: int32
description: Number of DBS refresh attempts made for this certificate.
example: 3
lastCheckDateTime:
type: string
format: date-time
description: Timestamp of the latest DBS check lookup in UTC.
example: '2026-04-01T12:08:10.178Z'
createDateTime:
type: string
format: date-time
description: Timestamp when the DBS check record was created in UTC.
example: '2026-04-01T12:08:10.178Z'
level:
type: string
description: Level of this specific DBS check (for example Enhanced, Standard or Basic), sourced from the DBS application whose certificate matches this check's certificate number. Absent when the level is unknown - i.e. this check's certificate was not issued via a DBS application in Credentially.
example: Enhanced
securitySchemes:
bearer-key:
type: http
scheme: bearer
bearerFormat: JWT