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": "[email protected]",
      "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

Retrieve a single candidate

get
Authorizations
Path parameters
idstringRequired
Responses
200

candidate found

application/vnd.api+json
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": "[email protected]",
      "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

No content

delete
DELETE /public/v2/candidates/{id} HTTP/1.1
Host: {defaulthost}
Authorization: YOUR_API_KEY
Accept: */*

No content

Patch a Candidate

patch
Authorizations
Path parameters
idstringRequired
Body
Responses
200

candidate updated

application/vnd.api+json
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": "[email protected]",
      "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": {}
}

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": "[email protected]",
      "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
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": "[email protected]",
        "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": "[email protected]",
        "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": "[email protected]",
        "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
  }
}

Create a Candidate

post
Authorizations
Body
Responses
201

Candidate created

No content

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

Last updated