🌐
Recrubo API
  • Getting Started
    • Introduction
    • Sandbox
    • Async requests
    • Authentication
    • Webhooks
    • Filtering, sorting, pagination and including resources
  • Guides
    • Setting up webhooks
    • Generating flows
    • Editing flows
    • Triggering flows
    • Embedding the Inbox
    • Sending messages
  • Resources
    • API Resource Reference
      • Candidate
      • Conversation
      • Flow
      • FlowRun
      • FlowGeneration
      • Message
      • MessageTemplate
      • MessageThread
      • NodeAction
      • NodeTransition
      • Node
      • VacancyAnalysis
      • Vacancy
      • User
      • WebhookPayload
    • Embeddables
      • Inbox
      • BotStudio
      • GenerateFlow
      • Whatsapp connect button
      • Schedule Form
      • Schedule Table
    • Flow types
      • vacancy_application_flow
  • Management
    • Organizations
Powered by GitBook
On this page
  1. Resources
  2. API Resource Reference

Candidate

Candidate represents a candidate in the Recrubo platform. The candidate object contains all the information about the candidate, such as name, email, phone number, and postal code. The candidate object also contains a reference to the current status of the candidate. To use the Recrubo Inbox, Candidates need to be created in Recrubo. To support the Inbox a candidate requires a MessageThread

Endpoints

  • GET /candidates - Retrieves a list of all candidates.

  • GET /candidates/{id} - Retrieves a specific candidate by ID.

  • GET /candidates/{id}?include=candidateStatus - Retrieves a specific candidate by ID with its current status.

  • POST /candidates - Creates a new candidate.

  • PATCH /candidates/{id} - Updates a specific candidate by ID.

  • DELETE /candidates/{id} - Deletes a specific candidate by ID.

Attributes

Field
Type
Description

firstName

String

The firstName for the candidate.

lastName

String

The lastName for the candidate.

email

String

The email for the candidate.

phone

String

The phone number for the candidate.

postalCode

String

The postal code of the current living location for the candidate.

candidateStatusId

String

A UUID referencing the current status of the candidate.

deletedAt

DateTime

The timestamp when the candidate was deleted.

createdAt

DateTime

The timestamp when the candidate was created.

updatedAt

DateTime

The timestamp when the candidate was last updated.

HTTP Methods

Field
GET
POST
PATCH

firstName

X

X

x

lastName

X

X

X

email

X

x

x

phone

X

x

x

postalCode

X

X

X

candidateStatusId

X

X

X

deletedAt

X

createdAt

X

updatedAt

X

Required Fields for Creation (POST)

Field
Type
Example value

phone

String

31612345678

Example POST body

{
  "data": {
    "type": "candidates",
    "attributes": {
      "phone": "31612345678",
      "firstName": "John",
      "lastName": "Doe",
      "email": "john@doe.com",
      "postalCode": "1234AB",
      "candidateStatusId": "2e23b4b4-4b4b-4b4b-4b4b-4b4b4b4b4b4b"
    }
  }
}

Example PATCH body with locations

{
  "data": {
    "type": "candidates",
    "attributes": {
      "firstName": "Johnny"
    },
    "relationships": {
      "candidateStatus": {
        "data": [
          { "type": "candidateStatuses", "id": "2e23b4b4-4b4b-4b4b-4b4b-4b4b4b4b4b4b" }
        ]
      }
    }
  }
}

OpenAPI

PreviousAPI Resource ReferenceNextConversation

Last updated 8 months ago

Retrieve a single candidate

get
Authorizations
Path parameters
idstringRequired
Responses
200
candidate found
application/vnd.api+json
401
access denied
404
Candidate not found
get
GET /public/v2/candidates/{id} HTTP/1.1
Host: {defaulthost}
Authorization: YOUR_API_KEY
Accept: */*
{
  "data": {
    "id": "4876b289-fa63-423d-8d36-de6599fd478f",
    "type": "candidates",
    "attributes": {
      "createdAt": "2024-08-20T00:00:00+00:00",
      "updatedAt": "2024-08-20T00:00:00+00:00",
      "firstName": "Brock Vink",
      "lastName": "Jacobs",
      "email": "lynetta@tremblay.co.uk",
      "phone": "31658556598",
      "postalCode": "2005XB",
      "candidateStatusId": "9f7e47ef-442e-488e-b68f-be8195bc8c15",
      "deletedAt": null,
      "userId": null
    },
    "relationships": {
      "organization": {
        "links": {
          "related": "/public/v2/organizations/da3a09b2-ebdd-426c-a53b-a77c049f4ceb"
        }
      },
      "candidateStatus": {
        "links": {
          "related": "/public/v2/candidate-statuses/9f7e47ef-442e-488e-b68f-be8195bc8c15"
        }
      },
      "user": {
        "links": {
          "related": null
        }
      },
      "messageThreads": {
        "links": {
          "related": "/public/v2/message-threads?filter[candidateId]=4876b289-fa63-423d-8d36-de6599fd478f"
        }
      }
    }
  },
  "meta": {}
}

Destroy a Candidate

delete
Authorizations
Path parameters
idstringRequired
Responses
204
candidate destroyed
401
access denied
404
Candidate not found
delete
DELETE /public/v2/candidates/{id} HTTP/1.1
Host: {defaulthost}
Authorization: YOUR_API_KEY
Accept: */*

No content

Retrieve a single candidate including candidateStatus

get
Authorizations
Path parameters
idstringRequired
Responses
200
candidate found with included candidateStatus
application/vnd.api+json
get
GET /public/v2/candidates/{id} HTTP/1.1
Host: {defaulthost}
Authorization: YOUR_API_KEY
Accept: */*
200

candidate found with included candidateStatus

{
  "data": {
    "id": "286aacad-9cee-4fbf-a69c-a2f6a78f69ef",
    "type": "candidates",
    "attributes": {
      "createdAt": "2024-08-20T00:00:00+00:00",
      "updatedAt": "2024-08-20T00:00:00+00:00",
      "firstName": "Darron van der Meer",
      "lastName": "Gerritsen",
      "email": "irish@wisoky.name",
      "phone": "31645658722",
      "postalCode": "6256WH",
      "candidateStatusId": "10df4f48-a909-415f-8fbe-f29036818cd9",
      "deletedAt": null,
      "userId": "15921c8f-e828-498a-98ab-bc3d6c00bf64"
    },
    "relationships": {
      "organization": {
        "links": {
          "related": "/public/v2/organizations/b7d52649-3d38-4115-908b-3a3f48d04fcb"
        }
      },
      "candidateStatus": {
        "links": {
          "related": "/public/v2/candidate-statuses/10df4f48-a909-415f-8fbe-f29036818cd9"
        },
        "data": {
          "type": "candidateStatuses",
          "id": "10df4f48-a909-415f-8fbe-f29036818cd9"
        }
      },
      "user": {
        "links": {
          "related": "/public/v2/users/15921c8f-e828-498a-98ab-bc3d6c00bf64"
        }
      },
      "messageThreads": {
        "links": {
          "related": "/public/v2/message-threads?filter[candidateId]=286aacad-9cee-4fbf-a69c-a2f6a78f69ef"
        }
      }
    }
  },
  "meta": {},
  "included": [
    {
      "id": "10df4f48-a909-415f-8fbe-f29036818cd9",
      "type": "candidateStatuses",
      "attributes": {
        "createdAt": "2024-08-20T10:44:55+00:00",
        "updatedAt": "2024-08-20T10:44:55+00:00",
        "name": "New",
        "color": "#48cde8",
        "textColor": "#5a5f61",
        "externalId": null,
        "default": true
      },
      "relationships": {
        "candidates": {
          "links": {
            "related": "/public/v2/candidates?filter[candidateStatusId]=10df4f48-a909-415f-8fbe-f29036818cd9"
          }
        }
      }
    }
  ]
}

Retrieve all Candidates

get
Authorizations
Responses
200
candidates found
application/vnd.api+json
401
access denied
get
GET /public/v2/candidates HTTP/1.1
Host: {defaulthost}
Authorization: YOUR_API_KEY
Accept: */*
{
  "data": [
    {
      "id": "395b70a3-e845-4338-a26f-939a610ea34e",
      "type": "candidates",
      "attributes": {
        "createdAt": "2024-08-20T00:00:00+00:00",
        "updatedAt": "2024-08-20T00:00:00+00:00",
        "firstName": "Micah van de Velden",
        "lastName": "Janssen",
        "email": "melva@johns.info",
        "phone": "31605481381",
        "postalCode": "4558XF",
        "candidateStatusId": "c59d23e6-4468-44ae-9fc5-536845e8d1df",
        "deletedAt": null,
        "userId": null
      },
      "relationships": {
        "organization": {
          "links": {
            "related": "/public/v2/organizations/522589a8-7e01-475e-90d1-e23a9819d645"
          }
        },
        "candidateStatus": {
          "links": {
            "related": "/public/v2/candidate-statuses/c59d23e6-4468-44ae-9fc5-536845e8d1df"
          }
        },
        "user": {
          "links": {
            "related": null
          }
        },
        "messageThreads": {
          "links": {
            "related": "/public/v2/message-threads?filter[candidateId]=395b70a3-e845-4338-a26f-939a610ea34e"
          }
        }
      }
    },
    {
      "id": "72696e3f-a5de-4d72-bb0d-17ccebc2b809",
      "type": "candidates",
      "attributes": {
        "createdAt": "2024-08-20T00:00:00+00:00",
        "updatedAt": "2024-08-20T00:00:00+00:00",
        "firstName": "Dr. Monnie Wolters",
        "lastName": "Dekker",
        "email": "bernardine_rippin@bauchsporer.name",
        "phone": "31603238427",
        "postalCode": "6522JN",
        "candidateStatusId": "c59d23e6-4468-44ae-9fc5-536845e8d1df",
        "deletedAt": null,
        "userId": null
      },
      "relationships": {
        "organization": {
          "links": {
            "related": "/public/v2/organizations/522589a8-7e01-475e-90d1-e23a9819d645"
          }
        },
        "candidateStatus": {
          "links": {
            "related": "/public/v2/candidate-statuses/c59d23e6-4468-44ae-9fc5-536845e8d1df"
          }
        },
        "user": {
          "links": {
            "related": null
          }
        },
        "messageThreads": {
          "links": {
            "related": "/public/v2/message-threads?filter[candidateId]=72696e3f-a5de-4d72-bb0d-17ccebc2b809"
          }
        }
      }
    },
    {
      "id": "610162f0-77e7-4196-a254-74cb91582b6e",
      "type": "candidates",
      "attributes": {
        "createdAt": "2024-08-20T00:00:00+00:00",
        "updatedAt": "2024-08-20T00:00:00+00:00",
        "firstName": "Dorsey van den Berg",
        "lastName": "van Dijk",
        "email": "shantelle_stoltenberg@sipes.ca",
        "phone": "31611762276",
        "postalCode": "1575GB",
        "candidateStatusId": "c59d23e6-4468-44ae-9fc5-536845e8d1df",
        "deletedAt": null,
        "userId": null
      },
      "relationships": {
        "organization": {
          "links": {
            "related": "/public/v2/organizations/522589a8-7e01-475e-90d1-e23a9819d645"
          }
        },
        "candidateStatus": {
          "links": {
            "related": "/public/v2/candidate-statuses/c59d23e6-4468-44ae-9fc5-536845e8d1df"
          }
        },
        "user": {
          "links": {
            "related": null
          }
        },
        "messageThreads": {
          "links": {
            "related": "/public/v2/message-threads?filter[candidateId]=610162f0-77e7-4196-a254-74cb91582b6e"
          }
        }
      }
    }
  ],
  "meta": {
    "total": 3,
    "totalUnfiltered": 3,
    "currentSize": 25,
    "currentPage": 1,
    "maxPage": 1
  }
}
  • Endpoints
  • Attributes
  • HTTP Methods
  • Required Fields for Creation (POST)
  • Example POST body
  • Example PATCH body with locations
  • OpenAPI
  • GETRetrieve a single candidate
  • DELETEDestroy a Candidate
  • PATCHPatch a Candidate
  • GETRetrieve a single candidate including candidateStatus
  • GETRetrieve all Candidates
  • POSTCreate a Candidate

Patch a Candidate

patch
Authorizations
Path parameters
idstringRequired
Body
Responses
200
candidate updated
application/vnd.api+json
401
access denied
404
Candidate not found
patch
PATCH /public/v2/candidates/{id} HTTP/1.1
Host: {defaulthost}
Authorization: YOUR_API_KEY
Content-Type: application/vnd.api+json
Accept: */*
Content-Length: 245

{
  "data": {
    "id": "text",
    "type": "text",
    "attributes": {
      "firstName": "text",
      "lastName": "text",
      "email": "text",
      "phone": "text",
      "postalCode": "text",
      "candidateStatusId": "123e4567-e89b-12d3-a456-426614174000",
      "userId": "123e4567-e89b-12d3-a456-426614174000"
    }
  }
}
{
  "data": {
    "id": "e951e3b1-a586-4178-aff9-0a02349d27b8",
    "type": "candidates",
    "attributes": {
      "createdAt": "2024-08-20T00:00:00+00:00",
      "updatedAt": "2024-08-20T00:00:00+00:00",
      "firstName": "Marcellus",
      "lastName": "Wallace",
      "email": "marcelluswallace@mail.com",
      "phone": "31683373582",
      "postalCode": "9076ML",
      "candidateStatusId": "6d58b9d8-193e-4b8f-ae72-afb1956a2c5a",
      "deletedAt": null,
      "userId": null
    },
    "relationships": {
      "organization": {
        "links": {
          "related": "/public/v2/organizations/5fd53e0b-a3a8-4fd8-ad10-a6dc9ccb4ecb"
        }
      },
      "candidateStatus": {
        "links": {
          "related": "/public/v2/candidate-statuses/6d58b9d8-193e-4b8f-ae72-afb1956a2c5a"
        }
      },
      "user": {
        "links": {
          "related": null
        }
      },
      "messageThreads": {
        "links": {
          "related": "/public/v2/message-threads?filter[candidateId]=e951e3b1-a586-4178-aff9-0a02349d27b8"
        }
      }
    }
  },
  "meta": {}
}

Create a Candidate

post
Authorizations
Body
Responses
201
Candidate created
422
Invalid request Message thread not found
post
POST /public/v2/candidates/ HTTP/1.1
Host: {defaulthost}
Authorization: YOUR_API_KEY
Content-Type: application/vnd.api+json
Accept: */*
Content-Length: 245

{
  "data": {
    "id": "text",
    "type": "text",
    "attributes": {
      "firstName": "text",
      "lastName": "text",
      "email": "text",
      "phone": "text",
      "postalCode": "text",
      "candidateStatusId": "123e4567-e89b-12d3-a456-426614174000",
      "userId": "123e4567-e89b-12d3-a456-426614174000"
    }
  }
}

No content