Paradox · Capability

Paradox API — Candidates

Paradox API — Candidates. 10 operations. Lead operation: Paradox Get candidates. Self-contained Naftiko capability covering one Paradox business surface.

Run with Naftiko ParadoxCandidates

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

paradox-candidates.yaml Raw ↑
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: $.