Paradox · Capability
Paradox API — Candidates
Paradox API — Candidates. 10 operations. Lead operation: Paradox Get candidates. Self-contained Naftiko capability covering one Paradox business surface.
What You Can Do
GET
Getcandidates
— Paradox Get candidates
/v1/candidates
POST
Createcandidate
— Paradox Create candidate
/v1/candidates
POST
Sendbackgroundcheckcheckr
— Paradox Send Checkr background check
/v1/candidates/background-check/checkr
POST
Sendbackgroundcheckfirstadvantage
— Paradox Send First Advantage background check
/v1/candidates/background-check/firstadvance
POST
Sendbackgroundcheckstandard
— Paradox Send standard background check
/v1/candidates/background-check/standard
POST
Sendcandidatemessage
— Paradox Send candidate message
/v1/candidates/send-message
PUT
Unsubscribecandidate
— Paradox Unsubscribe candidate
/v1/candidates/unsubscribe
GET
Getcandidate
— Paradox Get single candidate
/v1/candidates/{id}
PUT
Updatecandidate
— Paradox Update candidate
/v1/candidates/{id}
DELETE
Deletecandidate
— Paradox Delete candidate
/v1/candidates/{id}
MCP Tools
paradox-get-candidates
Paradox Get candidates
read-only
idempotent
paradox-create-candidate
Paradox Create candidate
paradox-send-checkr-background-check
Paradox Send Checkr background check
paradox-send-first-advantage-background
Paradox Send First Advantage background check
paradox-send-standard-background-check
Paradox Send standard background check
paradox-send-candidate-message
Paradox Send candidate message
paradox-unsubscribe-candidate
Paradox Unsubscribe candidate
idempotent
paradox-get-single-candidate
Paradox Get single candidate
read-only
idempotent
paradox-update-candidate
Paradox Update candidate
idempotent
paradox-delete-candidate
Paradox Delete candidate
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Paradox API — Candidates
description: 'Paradox API — Candidates. 10 operations. Lead operation: Paradox Get candidates. Self-contained Naftiko capability
covering one Paradox business surface.'
tags:
- Paradox
- Candidates
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
PARADOX_API_KEY: PARADOX_API_KEY
capability:
consumes:
- type: http
namespace: paradox-candidates
baseUri: https://api.paradox.ai/api/v1/public
description: Paradox API — Candidates business capability. Self-contained, no shared references.
resources:
- name: candidates
path: /candidates
operations:
- name: getcandidates
method: GET
description: Paradox Get candidates
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: start_date
in: query
type: string
description: Filter candidates created after this date (ISO 8601)
- name: end_date
in: query
type: string
description: Filter candidates created before this date (ISO 8601)
- name: created_start_date
in: query
type: string
description: Filter by candidate creation start date
- name: start_keyword
in: query
type: string
description: Search keyword filter
- name: limit
in: query
type: integer
description: Maximum number of results to return (max 50)
- name: offset
in: query
type: integer
description: Number of results to skip for pagination
- name: page
in: query
type: integer
description: Page number for pagination
- name: status
in: query
type: string
description: Filter by candidate status
- name: group_name
in: query
type: string
description: Filter by group name
- name: location_id
in: query
type: string
description: Filter by location identifier
- name: source
in: query
type: string
description: Filter by candidate source
- name: conversation
in: query
type: boolean
description: Include conversation data
- name: interviews
in: query
type: boolean
description: Include interview data
- name: note
in: query
type: boolean
description: Include candidate notes
- name: profile_id
in: query
type: string
description: Filter by profile identifier
- name: include_attributes
in: query
type: boolean
description: Include candidate attribute data in response
- name: candidate_journey_status
in: query
type: string
description: Filter by candidate journey status
- name: job_loc_code
in: query
type: string
description: Filter by job location code
- name: job_req_id
in: query
type: string
description: Filter by job requisition ID
- name: ex_id
in: query
type: string
description: Filter by external candidate identifier
- name: email
in: query
type: string
description: Filter by candidate email
- name: createcandidate
method: POST
description: Paradox Create candidate
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: candidates-background_check-checkr
path: /candidates/background_check/checkr
operations:
- name: sendbackgroundcheckcheckr
method: POST
description: Paradox Send Checkr background check
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: candidates-background_check-firstadvance
path: /candidates/background_check/firstadvance
operations:
- name: sendbackgroundcheckfirstadvantage
method: POST
description: Paradox Send First Advantage background check
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: candidates-background_check-standard
path: /candidates/background_check/standard
operations:
- name: sendbackgroundcheckstandard
method: POST
description: Paradox Send standard background check
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: candidates-send_message
path: /candidates/send_message
operations:
- name: sendcandidatemessage
method: POST
description: Paradox Send candidate message
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: candidates-unsubscribe
path: /candidates/unsubscribe
operations:
- name: unsubscribecandidate
method: PUT
description: Paradox Unsubscribe candidate
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: candidates-id
path: /candidates/{id}
operations:
- name: getcandidate
method: GET
description: Paradox Get single candidate
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: conversation
in: query
type: boolean
description: Include conversation history
- name: note
in: query
type: boolean
description: Include candidate notes
- name: updatecandidate
method: PUT
description: Paradox Update candidate
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: deletecandidate
method: DELETE
description: Paradox Delete candidate
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
authentication:
type: bearer
token: '{{env.PARADOX_API_KEY}}'
exposes:
- type: rest
namespace: paradox-candidates-rest
port: 8080
description: REST adapter for Paradox API — Candidates. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/candidates
name: candidates
description: REST surface for candidates.
operations:
- method: GET
name: getcandidates
description: Paradox Get candidates
call: paradox-candidates.getcandidates
with:
start_date: rest.start_date
end_date: rest.end_date
created_start_date: rest.created_start_date
start_keyword: rest.start_keyword
limit: rest.limit
offset: rest.offset
page: rest.page
status: rest.status
group_name: rest.group_name
location_id: rest.location_id
source: rest.source
conversation: rest.conversation
interviews: rest.interviews
note: rest.note
profile_id: rest.profile_id
include_attributes: rest.include_attributes
candidate_journey_status: rest.candidate_journey_status
job_loc_code: rest.job_loc_code
job_req_id: rest.job_req_id
ex_id: rest.ex_id
email: rest.email
outputParameters:
- type: object
mapping: $.
- method: POST
name: createcandidate
description: Paradox Create candidate
call: paradox-candidates.createcandidate
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/candidates/background-check/checkr
name: candidates-background-check-checkr
description: REST surface for candidates-background_check-checkr.
operations:
- method: POST
name: sendbackgroundcheckcheckr
description: Paradox Send Checkr background check
call: paradox-candidates.sendbackgroundcheckcheckr
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/candidates/background-check/firstadvance
name: candidates-background-check-firstadvance
description: REST surface for candidates-background_check-firstadvance.
operations:
- method: POST
name: sendbackgroundcheckfirstadvantage
description: Paradox Send First Advantage background check
call: paradox-candidates.sendbackgroundcheckfirstadvantage
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/candidates/background-check/standard
name: candidates-background-check-standard
description: REST surface for candidates-background_check-standard.
operations:
- method: POST
name: sendbackgroundcheckstandard
description: Paradox Send standard background check
call: paradox-candidates.sendbackgroundcheckstandard
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/candidates/send-message
name: candidates-send-message
description: REST surface for candidates-send_message.
operations:
- method: POST
name: sendcandidatemessage
description: Paradox Send candidate message
call: paradox-candidates.sendcandidatemessage
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/candidates/unsubscribe
name: candidates-unsubscribe
description: REST surface for candidates-unsubscribe.
operations:
- method: PUT
name: unsubscribecandidate
description: Paradox Unsubscribe candidate
call: paradox-candidates.unsubscribecandidate
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/candidates/{id}
name: candidates-id
description: REST surface for candidates-id.
operations:
- method: GET
name: getcandidate
description: Paradox Get single candidate
call: paradox-candidates.getcandidate
with:
conversation: rest.conversation
note: rest.note
outputParameters:
- type: object
mapping: $.
- method: PUT
name: updatecandidate
description: Paradox Update candidate
call: paradox-candidates.updatecandidate
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deletecandidate
description: Paradox Delete candidate
call: paradox-candidates.deletecandidate
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: paradox-candidates-mcp
port: 9090
transport: http
description: MCP adapter for Paradox API — Candidates. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: paradox-get-candidates
description: Paradox Get candidates
hints:
readOnly: true
destructive: false
idempotent: true
call: paradox-candidates.getcandidates
with:
start_date: tools.start_date
end_date: tools.end_date
created_start_date: tools.created_start_date
start_keyword: tools.start_keyword
limit: tools.limit
offset: tools.offset
page: tools.page
status: tools.status
group_name: tools.group_name
location_id: tools.location_id
source: tools.source
conversation: tools.conversation
interviews: tools.interviews
note: tools.note
profile_id: tools.profile_id
include_attributes: tools.include_attributes
candidate_journey_status: tools.candidate_journey_status
job_loc_code: tools.job_loc_code
job_req_id: tools.job_req_id
ex_id: tools.ex_id
email: tools.email
outputParameters:
- type: object
mapping: $.
- name: paradox-create-candidate
description: Paradox Create candidate
hints:
readOnly: false
destructive: false
idempotent: false
call: paradox-candidates.createcandidate
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: paradox-send-checkr-background-check
description: Paradox Send Checkr background check
hints:
readOnly: false
destructive: false
idempotent: false
call: paradox-candidates.sendbackgroundcheckcheckr
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: paradox-send-first-advantage-background
description: Paradox Send First Advantage background check
hints:
readOnly: false
destructive: false
idempotent: false
call: paradox-candidates.sendbackgroundcheckfirstadvantage
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: paradox-send-standard-background-check
description: Paradox Send standard background check
hints:
readOnly: false
destructive: false
idempotent: false
call: paradox-candidates.sendbackgroundcheckstandard
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: paradox-send-candidate-message
description: Paradox Send candidate message
hints:
readOnly: false
destructive: false
idempotent: false
call: paradox-candidates.sendcandidatemessage
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: paradox-unsubscribe-candidate
description: Paradox Unsubscribe candidate
hints:
readOnly: false
destructive: false
idempotent: true
call: paradox-candidates.unsubscribecandidate
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: paradox-get-single-candidate
description: Paradox Get single candidate
hints:
readOnly: true
destructive: false
idempotent: true
call: paradox-candidates.getcandidate
with:
conversation: tools.conversation
note: tools.note
outputParameters:
- type: object
mapping: $.
- name: paradox-update-candidate
description: Paradox Update candidate
hints:
readOnly: false
destructive: false
idempotent: true
call: paradox-candidates.updatecandidate
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: paradox-delete-candidate
description: Paradox Delete candidate
hints:
readOnly: false
destructive: true
idempotent: true
call: paradox-candidates.deletecandidate
outputParameters:
- type: object
mapping: $.