#Getting started

Overview

This documentation is used by partners and clients of WiSE People Talent Solutions BV to connect their systems to ours.


Our current implementation involves features such as:

  • - Connecting businesses to MyJobbox.
  • - Connecting applicants of your applications.
  • - Rejecting applicants in various ways.
  • - Closing jobs with and without AI reasoning on your end.

Authentication Example

In order to access API endpoints, you must request a unique Bearer Token, this token must be supplied with each request in the header.

If you lose your token, please contact MyJobbox Support.

Authorization: Bearer TOKEN

Request & Response Format

All requests are made using GET or POST methods. A POST method requires a JSON encoded object.

Date and time arguments will always be handled as being UTC+0.

For all POST requests, optionally include the header:

Content-Type: application/json

Request Structure

JSON fields are handled case-insensitive. Thus no need to worry about that.


Response Structure

Our API responses contain the following structure and is camelCased:

  • - Condition: A result condition returned by the API request. NOTE: This condition differs from the actual HTTP response codes. We always return an HTTP response 200 when you receive an answer from the API. This inner condition indicates the actual status of the operation.
  • - Data: The result value. When no response data is expected, this value is NULL. Otherwise it will represent a defined object. This object is defined per endpoint, allowing the data type of Data to vary.
  • - Details: The result message. This message usually gives more information about the condition.
  • - IsDataCompressed: Currently not used.
  • - Reflection: This element is for debugging.

Endpoints

The setup of the URL goes as follows:

DEVELOPMENT: https://api-office-development.myjobbox.eu/api/__VERSION__/hook/...

PRODUCTION: https://api-office.myjobbox.eu/api/__VERSION__/hook/...


API Usage Limitations

The bearer token is limited to 100 API requests per minute. (Some endpoints are excluded)


Feedback

We value the feedback of our partners and clients. We want to provide a developer experience that allows for a seamless integration, but we need your help! If you have any suggestions, questions, comments, or ideas for our API, please contact MyJobbox Support. (Note: We do not provide support for code examples in other programming languages than C#.)


Minimum SLA

95.833% (1h/day)

Example Body:

1 2 3 { "ExampleEmail": "applicant@email.com" }

C# Example:

1 2 3 4 5 using (HttpClient client = new HttpClient()) { HttpResponseMessage authResponse = await client.PostAsync(new Uri(__ENDPOINT__), new StringContent(JsonConvert.SerializeObject(new { __BODY__ }), Encoding.UTF8, MediaTypeNames.Application.Json)); ApiResponse response = JsonConvert.DeserializeObject<ApiResponse>(await authResponse.Content.ReadAsStringAsync()); }

ApiResponse class:

1 2 3 4 5 6 7 8 public class ApiResponse { public int Condition { get; set; } public object Data { get; set; } public string Details { get; set; } public bool IsDataCompressed { get; set; } public object Reflection { get; set; } }

#Endpoints

#ApplicationPOSTBearer Token Required

/v7/hook/application
Description:Use this webhook to invite an applicant to MyJobbox.

Parameters (body):

Businesses (Required)array<object>A list of businesses that contain job data to be synchronized.

HTTP Status Code 200 ~ Condition Codes (response):

200

A success result which might also carries a response object.

260

The request is accepted but one or more required items were not correctly filled in.

262

The request is completed but one or more items were marked invalid.

400

An error has occured. A bug report has been logged, but we appreciate contacting us for providing more information and attention to it.

401

You are unauthorized to use this endpoint.

500

An undocumented error occured. Please file an issue report HERE.

Body:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 { "Businesses": [ { "Id": "12345678-abcd", "Jobs": [ { "Id": "12345678-abcd", "Title": "Developer", "Recruiters": [ { "Id": "12345678-abcd", "Email": "recruiter@email.com", "FirstName": "Jeff", "LastName": "Doe", "LanguageIso": "NL" } ], "Applicants": [ { "Id": "12345678-abcd", "Email": "applicant@email.com", "FirstName": "John", "LastName": "Doe", "LanguageIso": "NL" } ] } ] } ] }

200 HTTP Status Code Response:

1 2 3 { "Condition": 200 }

#Close JobPOSTBearer Token Required

/v7/hook/job/closed
Description:Use this to close jobs, unlinked jobs are discarded during execution and do not throw an error.

Parameters (body):

Jobs (Required)array<object>A list of job id's.

HTTP Status Code 200 ~ Condition Codes (response):

200

A success result which might also carries a response object.

260

The request is accepted but one or more required items were not correctly filled in.

262

The request is accepted but one or more items were marked invalid.

400

An error has occured. A bug report has been logged, but we appreciate contacting us for providing more information and attention to it.

401

You are unauthorized to use this endpoint.

500

An undocumented error occured. Please file an issue report HERE.

Body:

1 2 3 4 5 6 7 8 9 10 { "Jobs": [ { "Id": "12345678-abcd" }, { "Id": "12345678-dcba" } ] }

200 HTTP Status Code Response:

1 2 3 { "Condition": 200 }

#Applicant Job StatusPOSTBearer Token Required

/v7/hook/applicant/status
Description:Use this webhook to update the status for the applicant on a specific job, unlinked jobs or users are discarded during execution and do not throw an error.

Parameters (body):

Statusses (Required)array<object>A list of status updates.

HTTP Status Code 200 ~ Condition Codes (response):

200

A success result which might also carries a response object.

260

The request is accepted but one or more required items were not correctly filled in.

262

The request is accepted but one or more items were marked invalid.

400

An undocumented error has occured. A bug report has been logged, but we appreciate contacting us for providing more information.

401

You are unauthorized to use this endpoint.

500

An undocumented error occured. Please file an issue report HERE.

Body:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 { "Statusses": [ { "ApplicantId": "12345678-abcd", "JobId": "12345678-abcd", "StatusId": 1 }, { "ApplicantId": "12345678-dcba", "JobId": "12345678-dcba", "Status": "HIRED", "Ai": { "Percentage": "87", "Reason": "Based on the applicant's experience and skills" } } ] }

200 HTTP Status Code Response:

1 2 3 { "Condition": 200 }

#Connect BusinessPOSTBearer Token Required

/v7/hook/connect
Description:Use this webhook to connect a business with MyJobbox, already linked businesses cannot be unlinked or overridden manually. This endpoint is your first entry towards doing other token protected endpoints.

Parameters (body):

PartnerBusinessId(Required)stringThe id on your system of the business which allows us to link it in our database.

BusinessHookId(Required)stringThe hook id on our system of the business which allows us to validate our three-way connection of MyJobbox + Business + Job Partner.

HTTP Status Code 200 ~ Condition Codes (response):

200

A success result which might also carries a response object.

260

The request is accepted but one or more required items were not correctly filled in.

262

The request is accepted but one or more items were marked invalid.

400

An error has occured. A bug report has been logged, but we appreciate contacting us for providing more information and attention to it.

401

You are unauthorized to use this endpoint.

500

An undocumented error occured. Please file an issue report HERE.

Body:

1 2 3 4 { "PartnerBusinessId": "12345678-abcd", "BusinessHookId": "JBHOOKID" }

200 HTTP Status Code Response:

1 2 3 { "Condition": 200 }