Ashby · Capability
Ashby API — Candidate
Ashby API — Candidate. 19 operations. Lead operation: candidate.addEmailMessage. Self-contained Naftiko capability covering one Ashby business surface.
What You Can Do
POST
Candidateaddemailmessage
— candidate.addEmailMessage
/v1/candidate-addemailmessage
POST
Candidateaddproject
— candidate.addProject
/v1/candidate-addproject
POST
Candidateaddtag
— candidate.addTag
/v1/candidate-addtag
POST
Candidateanonymize
— candidate.anonymize
/v1/candidate-anonymize
POST
Candidatecreate
— candidate.create
/v1/candidate-create
POST
Candidatecreatenote
— candidate.createNote
/v1/candidate-createnote
POST
Candidateinfo
— candidate.info
/v1/candidate-info
POST
Candidatelist
— candidate.list
/v1/candidate-list
POST
Candidatelistclientinfo
— candidate.listClientInfo
/v1/candidate-listclientinfo
POST
Candidatelistfraudchecks
— candidate.listFraudChecks
/v1/candidate-listfraudchecks
POST
Candidatelistnotes
— candidate.listNotes
/v1/candidate-listnotes
POST
Candidatelistprojects
— candidate.listProjects
/v1/candidate-listprojects
POST
Candidateremoveproject
— candidate.removeProject
/v1/candidate-removeproject
POST
Candidateremovetag
— candidate.removeTag
/v1/candidate-removetag
POST
Candidatesearch
— candidate.search
/v1/candidate-search
POST
Candidatesetfraudstatus
— candidate.setFraudStatus
/v1/candidate-setfraudstatus
POST
Candidateupdate
— candidate.update
/v1/candidate-update
POST
Candidateuploadfile
— candidate.uploadFile
/v1/candidate-uploadfile
POST
Candidateuploadresume
— candidate.uploadResume
/v1/candidate-uploadresume
MCP Tools
candidate-addemailmessage
candidate.addEmailMessage
candidate-addproject
candidate.addProject
candidate-addtag
candidate.addTag
candidate-anonymize
candidate.anonymize
candidate-create
candidate.create
candidate-createnote
candidate.createNote
candidate-info
candidate.info
candidate-list
candidate.list
candidate-listclientinfo
candidate.listClientInfo
candidate-listfraudchecks
candidate.listFraudChecks
candidate-listnotes
candidate.listNotes
candidate-listprojects
candidate.listProjects
candidate-removeproject
candidate.removeProject
candidate-removetag
candidate.removeTag
candidate-search
candidate.search
read-only
candidate-setfraudstatus
candidate.setFraudStatus
candidate-update
candidate.update
candidate-uploadfile
candidate.uploadFile
candidate-uploadresume
candidate.uploadResume
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Ashby API — Candidate
description: 'Ashby API — Candidate. 19 operations. Lead operation: candidate.addEmailMessage. Self-contained Naftiko capability
covering one Ashby business surface.'
tags:
- Ashby
- Candidate
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
ASHBY_API_KEY: ASHBY_API_KEY
capability:
consumes:
- type: http
namespace: ashby-candidate
baseUri: https://api.ashbyhq.com
description: Ashby API — Candidate business capability. Self-contained, no shared references.
resources:
- name: candidate.addEmailMessage
path: /candidate.addEmailMessage
operations:
- name: candidateaddemailmessage
method: POST
description: candidate.addEmailMessage
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: candidate.addProject
path: /candidate.addProject
operations:
- name: candidateaddproject
method: POST
description: candidate.addProject
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: candidate.addTag
path: /candidate.addTag
operations:
- name: candidateaddtag
method: POST
description: candidate.addTag
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: candidate.anonymize
path: /candidate.anonymize
operations:
- name: candidateanonymize
method: POST
description: candidate.anonymize
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: candidate.create
path: /candidate.create
operations:
- name: candidatecreate
method: POST
description: candidate.create
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: candidate.createNote
path: /candidate.createNote
operations:
- name: candidatecreatenote
method: POST
description: candidate.createNote
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: candidate.info
path: /candidate.info
operations:
- name: candidateinfo
method: POST
description: candidate.info
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: candidate.list
path: /candidate.list
operations:
- name: candidatelist
method: POST
description: candidate.list
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: candidate.listClientInfo
path: /candidate.listClientInfo
operations:
- name: candidatelistclientinfo
method: POST
description: candidate.listClientInfo
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: candidate.listFraudChecks
path: /candidate.listFraudChecks
operations:
- name: candidatelistfraudchecks
method: POST
description: candidate.listFraudChecks
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: candidate.listNotes
path: /candidate.listNotes
operations:
- name: candidatelistnotes
method: POST
description: candidate.listNotes
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: candidate.listProjects
path: /candidate.listProjects
operations:
- name: candidatelistprojects
method: POST
description: candidate.listProjects
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: candidate.removeProject
path: /candidate.removeProject
operations:
- name: candidateremoveproject
method: POST
description: candidate.removeProject
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: candidate.removeTag
path: /candidate.removeTag
operations:
- name: candidateremovetag
method: POST
description: candidate.removeTag
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: candidate.search
path: /candidate.search
operations:
- name: candidatesearch
method: POST
description: candidate.search
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: candidate.setFraudStatus
path: /candidate.setFraudStatus
operations:
- name: candidatesetfraudstatus
method: POST
description: candidate.setFraudStatus
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: candidate.update
path: /candidate.update
operations:
- name: candidateupdate
method: POST
description: candidate.update
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: candidate.uploadFile
path: /candidate.uploadFile
operations:
- name: candidateuploadfile
method: POST
description: candidate.uploadFile
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: candidate.uploadResume
path: /candidate.uploadResume
operations:
- name: candidateuploadresume
method: POST
description: candidate.uploadResume
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
authentication:
type: apikey
key: Ashby-Signature
value: '{{env.ASHBY_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: ashby-candidate-rest
port: 8080
description: REST adapter for Ashby API — Candidate. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/candidate-addemailmessage
name: candidate-addemailmessage
description: REST surface for candidate.addEmailMessage.
operations:
- method: POST
name: candidateaddemailmessage
description: candidate.addEmailMessage
call: ashby-candidate.candidateaddemailmessage
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/candidate-addproject
name: candidate-addproject
description: REST surface for candidate.addProject.
operations:
- method: POST
name: candidateaddproject
description: candidate.addProject
call: ashby-candidate.candidateaddproject
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/candidate-addtag
name: candidate-addtag
description: REST surface for candidate.addTag.
operations:
- method: POST
name: candidateaddtag
description: candidate.addTag
call: ashby-candidate.candidateaddtag
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/candidate-anonymize
name: candidate-anonymize
description: REST surface for candidate.anonymize.
operations:
- method: POST
name: candidateanonymize
description: candidate.anonymize
call: ashby-candidate.candidateanonymize
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/candidate-create
name: candidate-create
description: REST surface for candidate.create.
operations:
- method: POST
name: candidatecreate
description: candidate.create
call: ashby-candidate.candidatecreate
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/candidate-createnote
name: candidate-createnote
description: REST surface for candidate.createNote.
operations:
- method: POST
name: candidatecreatenote
description: candidate.createNote
call: ashby-candidate.candidatecreatenote
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/candidate-info
name: candidate-info
description: REST surface for candidate.info.
operations:
- method: POST
name: candidateinfo
description: candidate.info
call: ashby-candidate.candidateinfo
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/candidate-list
name: candidate-list
description: REST surface for candidate.list.
operations:
- method: POST
name: candidatelist
description: candidate.list
call: ashby-candidate.candidatelist
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/candidate-listclientinfo
name: candidate-listclientinfo
description: REST surface for candidate.listClientInfo.
operations:
- method: POST
name: candidatelistclientinfo
description: candidate.listClientInfo
call: ashby-candidate.candidatelistclientinfo
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/candidate-listfraudchecks
name: candidate-listfraudchecks
description: REST surface for candidate.listFraudChecks.
operations:
- method: POST
name: candidatelistfraudchecks
description: candidate.listFraudChecks
call: ashby-candidate.candidatelistfraudchecks
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/candidate-listnotes
name: candidate-listnotes
description: REST surface for candidate.listNotes.
operations:
- method: POST
name: candidatelistnotes
description: candidate.listNotes
call: ashby-candidate.candidatelistnotes
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/candidate-listprojects
name: candidate-listprojects
description: REST surface for candidate.listProjects.
operations:
- method: POST
name: candidatelistprojects
description: candidate.listProjects
call: ashby-candidate.candidatelistprojects
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/candidate-removeproject
name: candidate-removeproject
description: REST surface for candidate.removeProject.
operations:
- method: POST
name: candidateremoveproject
description: candidate.removeProject
call: ashby-candidate.candidateremoveproject
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/candidate-removetag
name: candidate-removetag
description: REST surface for candidate.removeTag.
operations:
- method: POST
name: candidateremovetag
description: candidate.removeTag
call: ashby-candidate.candidateremovetag
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/candidate-search
name: candidate-search
description: REST surface for candidate.search.
operations:
- method: POST
name: candidatesearch
description: candidate.search
call: ashby-candidate.candidatesearch
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/candidate-setfraudstatus
name: candidate-setfraudstatus
description: REST surface for candidate.setFraudStatus.
operations:
- method: POST
name: candidatesetfraudstatus
description: candidate.setFraudStatus
call: ashby-candidate.candidatesetfraudstatus
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/candidate-update
name: candidate-update
description: REST surface for candidate.update.
operations:
- method: POST
name: candidateupdate
description: candidate.update
call: ashby-candidate.candidateupdate
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/candidate-uploadfile
name: candidate-uploadfile
description: REST surface for candidate.uploadFile.
operations:
- method: POST
name: candidateuploadfile
description: candidate.uploadFile
call: ashby-candidate.candidateuploadfile
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/candidate-uploadresume
name: candidate-uploadresume
description: REST surface for candidate.uploadResume.
operations:
- method: POST
name: candidateuploadresume
description: candidate.uploadResume
call: ashby-candidate.candidateuploadresume
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: ashby-candidate-mcp
port: 9090
transport: http
description: MCP adapter for Ashby API — Candidate. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: candidate-addemailmessage
description: candidate.addEmailMessage
hints:
readOnly: false
destructive: false
idempotent: false
call: ashby-candidate.candidateaddemailmessage
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: candidate-addproject
description: candidate.addProject
hints:
readOnly: false
destructive: false
idempotent: false
call: ashby-candidate.candidateaddproject
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: candidate-addtag
description: candidate.addTag
hints:
readOnly: false
destructive: false
idempotent: false
call: ashby-candidate.candidateaddtag
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: candidate-anonymize
description: candidate.anonymize
hints:
readOnly: false
destructive: false
idempotent: false
call: ashby-candidate.candidateanonymize
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: candidate-create
description: candidate.create
hints:
readOnly: false
destructive: false
idempotent: false
call: ashby-candidate.candidatecreate
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: candidate-createnote
description: candidate.createNote
hints:
readOnly: false
destructive: false
idempotent: false
call: ashby-candidate.candidatecreatenote
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: candidate-info
description: candidate.info
hints:
readOnly: false
destructive: false
idempotent: false
call: ashby-candidate.candidateinfo
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: candidate-list
description: candidate.list
hints:
readOnly: false
destructive: false
idempotent: false
call: ashby-candidate.candidatelist
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: candidate-listclientinfo
description: candidate.listClientInfo
hints:
readOnly: false
destructive: false
idempotent: false
call: ashby-candidate.candidatelistclientinfo
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: candidate-listfraudchecks
description: candidate.listFraudChecks
hints:
readOnly: false
destructive: false
idempotent: false
call: ashby-candidate.candidatelistfraudchecks
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: candidate-listnotes
description: candidate.listNotes
hints:
readOnly: false
destructive: false
idempotent: false
call: ashby-candidate.candidatelistnotes
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: candidate-listprojects
description: candidate.listProjects
hints:
readOnly: false
destructive: false
idempotent: false
call: ashby-candidate.candidatelistprojects
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: candidate-removeproject
description: candidate.removeProject
hints:
readOnly: false
destructive: false
idempotent: false
call: ashby-candidate.candidateremoveproject
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: candidate-removetag
description: candidate.removeTag
hints:
readOnly: false
destructive: false
idempotent: false
call: ashby-candidate.candidateremovetag
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: candidate-search
description: candidate.search
hints:
readOnly: true
destructive: false
idempotent: false
call: ashby-candidate.candidatesearch
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: candidate-setfraudstatus
description: candidate.setFraudStatus
hints:
readOnly: false
destructive: false
idempotent: false
call: ashby-candidate.candidatesetfraudstatus
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: candidate-update
description: candidate.update
hints:
readOnly: false
destructive: false
idempotent: false
call: ashby-candidate.candidateupdate
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: candidate-uploadfile
description: candidate.uploadFile
hints:
readOnly: false
destructive: false
idempotent: false
call: ashby-candidate.candidateuploadfile
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: candidate-uploadresume
description: candidate.uploadResume
hints:
readOnly: false
destructive: false
idempotent: false
call: ashby-candidate.candidateuploadresume
with:
body: tools.body
outputParameters:
- type: object
mapping: $.