### Job Management API Source: https://workable.readme.io/reference/index Endpoints for retrieving information about jobs and questions. ```APIDOC ## GET /jobs ### Description Retrieves a list of jobs. ### Method GET ### Endpoint /jobs ### Parameters #### Query Parameters - **limit** (integer) - Optional - The maximum number of jobs to return. - **offset** (integer) - Optional - The number of jobs to skip before starting to collect the result set. ### Request Example ```json { "example": "" } ``` ### Response #### Success Response (200) - **jobs** (array) - A list of job objects. - **id** (string) - The job's unique identifier. - **title** (string) - The title of the job. - **status** (string) - The current status of the job (e.g., 'open', 'filled'). #### Response Example ```json { "jobs": [ { "id": "job_xyz", "title": "Software Engineer", "status": "open" } ] } ``` ## GET /jobs/:id/questions ### Description Retrieves the questions associated with a specific job. ### Method GET ### Endpoint /jobs/:id/questions ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the job. ### Request Example ```json { "example": "" } ``` ### Response #### Success Response (200) - **questions** (array) - A list of question objects for the job. - **id** (string) - The question's unique identifier. - **text** (string) - The text of the question. - **type** (string) - The type of question (e.g., 'short_text', 'multiple_choice'). #### Response Example ```json { "questions": [ { "id": "q_123", "text": "How many years of experience do you have with Python?", "type": "short_text" } ] } ``` ``` -------------------------------- ### API Access Token Generation and Usage Source: https://workable.readme.io/reference/index Information on how to generate an API access token and use it with `curl` to authenticate requests to the Workable API. ```APIDOC ## Generating an API Access Token ### Description This guide explains how to generate an API access token for your Workable account through the Workable UI. It also provides instructions on securely storing the token and revoking it if necessary. ### Process 1. Navigate to "Integrations" from the drop-down menu in the top right corner of your Workable screen. 2. Click the "Generate new token" button. 3. Specify the relevant scopes for your use case in the "Generate API token" form. 4. Securely store the generated token, as it will only be displayed once. ### Scopes - Certain scopes, like `r_employees`, grant access to confidential employee data. Ensure you understand the implications of the scopes you select. ### Usage Example (cURL) To test your API access token on the spot using your terminal (replace `` and ``): ```bash curl -H "Authorization:Bearer " \ https://.workable.com/spi/v3/jobs ``` ### Account Subdomain The account subdomain can be found in your company profile settings page. ### Revoking the Access Token - You can revoke an access token at any time from the Integrations page. - Be aware that revoking a token will stop all scripts and applications using that token from functioning. - If you revoke a token, you must generate a new one and update all associated scripts and applications. ``` -------------------------------- ### Getting Started with API Access Token Source: https://workable.readme.io/reference/generate-an-access-token This section guides users on how to generate an API access token for their Workable account and provides a cURL example for testing API access. ```APIDOC ## Generate an API Access Token This guide shows how to generate an API access token for your Workable account. To start, open the drop-down menu on the top right of your screen and select “Integrations” or press [here](https://www.workable.com/backend/account/integrations). Now click on the “Generate new token” button. Once you click the generate button, you’ll see the Generate API token form where you should specify the relevant scopes for your use case. > 🚧 There are some scopes like the `r_employees` scope, grant access to confidential employee data. > 🚧 It is imperative to securely store a copy of the token upon generation, as it will be displayed only a single time. In the event that the token is not securely stored, it is advisable to generate a new one. For more information on selecting scopes please refer to [this](https://help.workable.com/hc/en-us/articles/115015785428). If you're using Mac OS X or Linux, test it on the spot just by typing the following command in your terminal window (remember to replace the ‘account subdomain’): ```shell curl -H "Authorization:Bearer " https://.workable.com/spi/v3/jobs ``` You will also need the account subdomain which you can find in the company profile settings page: > ❗️ Revoking The Access Token > > Be aware that you can revoke this access token anytime, but if you decide to proceed, every script or application that accesses the Workable API through this token will stop functioning. To keep things running smoothly after revoking your current token, you will have to generate a new access token and update every script or application bound to the previous one. ``` -------------------------------- ### Candidate Management API Source: https://workable.readme.io/reference/index Endpoints for managing candidate data, including fetching candidates, retrieving candidate details, creating candidates, updating candidates, and executing actions on candidates. ```APIDOC ## GET /candidates ### Description Fetches a list of candidates. ### Method GET ### Endpoint /candidates ### Parameters #### Query Parameters - **job_id** (string) - Optional - Filter candidates by job ID. - **limit** (integer) - Optional - The maximum number of candidates to return. - **offset** (integer) - Optional - The number of candidates to skip before starting to collect the result set. ### Request Example ```json { "example": "" } ``` ### Response #### Success Response (200) - **candidates** (array) - A list of candidate objects. - **id** (string) - The candidate's unique identifier. - **name** (string) - The candidate's full name. - **email** (string) - The candidate's email address. #### Response Example ```json { "candidates": [ { "id": "cand_abc", "name": "Alice Wonderland", "email": "alice.w@example.com" } ] } ``` ## GET /candidates/:id ### Description Extracts detailed information about a specific candidate. ### Method GET ### Endpoint /candidates/:id ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the candidate. ### Request Example ```json { "example": "" } ``` ### Response #### Success Response (200) - **id** (string) - The candidate's unique identifier. - **name** (string) - The candidate's full name. - **email** (string) - The candidate's email address. - **details** (object) - Additional candidate details. #### Response Example ```json { "id": "cand_abc", "name": "Alice Wonderland", "email": "alice.w@example.com", "details": { "phone": "123-456-7890", "linkedin_url": "https://linkedin.com/in/alicew" } } ``` ## POST /candidates ### Description Creates a new candidate in the Workable system. ### Method POST ### Endpoint /candidates ### Parameters #### Request Body - **name** (string) - Required - The full name of the candidate. - **email** (string) - Required - The email address of the candidate. - **resume** (string) - Optional - URL to the candidate's resume. - **job_id** (string) - Optional - The ID of the job the candidate is applying for. ### Request Example ```json { "name": "Bob The Builder", "email": "bob.builder@example.com", "resume": "https://example.com/resumes/bob.pdf", "job_id": "job_xyz" } ``` ### Response #### Success Response (201) - **id** (string) - The unique identifier of the newly created candidate. - **message** (string) - Success message. #### Response Example ```json { "id": "cand_def", "message": "Candidate created successfully." } ``` ## PUT /candidates/:id ### Description Updates an existing candidate's information. ### Method PUT ### Endpoint /candidates/:id ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the candidate to update. #### Request Body - **email** (string) - Optional - The updated email address. - **phone** (string) - Optional - The updated phone number. ### Request Example ```json { "phone": "987-654-3210" } ``` ### Response #### Success Response (200) - **message** (string) - Success message indicating the candidate was updated. #### Response Example ```json { "message": "Candidate updated successfully." } ``` ## POST /candidates/:id/actions/copy ### Description Copies a candidate to another job or pipeline stage. ### Method POST ### Endpoint /candidates/:id/actions/copy ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the candidate. #### Request Body - **target_job_id** (string) - Required - The ID of the job to copy the candidate to. - **target_stage_id** (string) - Optional - The ID of the pipeline stage to move the candidate to. ### Request Example ```json { "target_job_id": "job_uvw", "target_stage_id": "stage_def" } ``` ### Response #### Success Response (200) - **message** (string) - Success message. #### Response Example ```json { "message": "Candidate copied successfully." } ``` ``` -------------------------------- ### Employee Management API Source: https://workable.readme.io/reference/index Endpoints for managing employee data, including listing employees, retrieving specific employee information, creating new employees, updating existing employees, and managing employee documents. ```APIDOC ## GET /employees ### Description Lists all employees in the Workable account. ### Method GET ### Endpoint /employees ### Parameters #### Query Parameters - **limit** (integer) - Optional - The maximum number of employees to return. - **offset** (integer) - Optional - The number of employees to skip before starting to collect the result set. ### Request Example ```json { "example": "" } ``` ### Response #### Success Response (200) - **employees** (array) - A list of employee objects. - **id** (string) - The employee's unique identifier. - **name** (string) - The employee's full name. - **email** (string) - The employee's email address. #### Response Example ```json { "employees": [ { "id": "emp_123", "name": "John Doe", "email": "john.doe@example.com" } ] } ``` ## GET /employees/:id ### Description Retrieves detailed information about a specific employee. ### Method GET ### Endpoint /employees/:id ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the employee. ### Request Example ```json { "example": "" } ``` ### Response #### Success Response (200) - **id** (string) - The employee's unique identifier. - **name** (string) - The employee's full name. - **email** (string) - The employee's email address. - **details** (object) - Additional employee details. #### Response Example ```json { "id": "emp_123", "name": "John Doe", "email": "john.doe@example.com", "details": { "department": "Engineering", "job_title": "Software Engineer" } } ``` ## POST /employees ### Description Creates a new employee in the Workable account. ### Method POST ### Endpoint /employees ### Parameters #### Request Body - **name** (string) - Required - The full name of the new employee. - **email** (string) - Required - The email address of the new employee. - **details** (object) - Optional - Additional details for the employee. ### Request Example ```json { "name": "Jane Smith", "email": "jane.smith@example.com", "details": { "department": "Marketing", "job_title": "Marketing Specialist" } } ``` ### Response #### Success Response (201) - **id** (string) - The unique identifier of the newly created employee. - **message** (string) - Success message. #### Response Example ```json { "id": "emp_456", "message": "Employee created successfully." } ``` ## PUT /employees/:id ### Description Updates an existing employee's information. ### Method PUT ### Endpoint /employees/:id ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the employee to update. #### Request Body - **name** (string) - Optional - The updated full name of the employee. - **email** (string) - Optional - The updated email address of the employee. - **details** (object) - Optional - Updated additional details for the employee. ### Request Example ```json { "details": { "job_title": "Senior Software Engineer" } } ``` ### Response #### Success Response (200) - **message** (string) - Success message indicating the employee was updated. #### Response Example ```json { "message": "Employee updated successfully." } ``` ## GET /employees/:id/documents ### Description Retrieves all documents associated with a specific employee. ### Method GET ### Endpoint /employees/:id/documents ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the employee. ### Request Example ```json { "example": "" } ``` ### Response #### Success Response (200) - **documents** (array) - A list of document objects associated with the employee. - **id** (string) - The document's unique identifier. - **name** (string) - The name of the document. - **url** (string) - The URL to access the document. #### Response Example ```json { "documents": [ { "id": "doc_789", "name": "Employment Contract", "url": "https://workable.com/documents/doc_789" } ] } ``` ## POST /employees/:id/documents ### Description Creates a new document for a specific employee. ### Method POST ### Endpoint /employees/:id/documents ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the employee. #### Request Body - **file** (file) - Required - The document file to upload. - **name** (string) - Required - The name of the document. ### Request Example ```json { "example": "Binary file upload" } ``` ### Response #### Success Response (201) - **id** (string) - The unique identifier of the newly created document. - **message** (string) - Success message. #### Response Example ```json { "id": "doc_101", "message": "Document uploaded successfully." } ``` ``` -------------------------------- ### Account Information API Source: https://workable.readme.io/reference/index Endpoints for retrieving information about your Workable account, including departments, work schedules, employee fields, and legal entities. ```APIDOC ## GET /departments ### Description Lists all departments within your Workable account. ### Method GET ### Endpoint /departments ### Parameters None ### Request Example ```json { "example": "" } ``` ### Response #### Success Response (200) - **departments** (array) - A list of department objects. - **id** (string) - The department's unique identifier. - **name** (string) - The name of the department. #### Response Example ```json { "departments": [ { "id": "dept_eng", "name": "Engineering" }, { "id": "dept_mkt", "name": "Marketing" } ] } ``` ## GET /work_schedules ### Description Lists the work schedules configured in your Workable account. ### Method GET ### Endpoint /work_schedules ### Parameters None ### Request Example ```json { "example": "" } ``` ### Response #### Success Response (200) - **work_schedules** (array) - A list of work schedule objects. - **id** (string) - The work schedule's unique identifier. - **name** (string) - The name of the work schedule. #### Response Example ```json { "work_schedules": [ { "id": "ws_fulltime", "name": "Full-time" } ] } ``` ## GET /employee_fields ### Description Lists the custom employee fields configured in your Workable account. ### Method GET ### Endpoint /employee_fields ### Parameters None ### Request Example ```json { "example": "" } ``` ### Response #### Success Response (200) - **employee_fields** (array) - A list of custom employee field objects. - **id** (string) - The field's unique identifier. - **name** (string) - The name of the custom field. - **type** (string) - The data type of the field. #### Response Example ```json { "employee_fields": [ { "id": "ef_skill", "name": "Skills", "type": "multi_select" } ] } ``` ## GET /legal_entities ### Description Lists the legal entities configured in your Workable account. ### Method GET ### Endpoint /legal_entities ### Parameters None ### Request Example ```json { "example": "" } ``` ### Response #### Success Response (200) - **legal_entities** (array) - A list of legal entity objects. - **id** (string) - The legal entity's unique identifier. - **name** (string) - The name of the legal entity. #### Response Example ```json { "legal_entities": [ { "id": "le_us", "name": "Workable US Inc." } ] } ``` ``` -------------------------------- ### Generate API Access Token with Curl Source: https://workable.readme.io/reference/index This snippet demonstrates how to generate an API access token for your Workable account and test it using a curl command. It requires replacing placeholders with your actual access token and account subdomain. Ensure secure storage of the generated token as it's displayed only once. ```shell curl -H "Authorization:Bearer " https://.workable.com/spi/v3/jobs ``` -------------------------------- ### API Endpoint Documentation (Example Structure) Source: https://workable.readme.io/reference/jobsshortcodeapplication_form This section provides a structured example of how API endpoints are documented. It includes details on path parameters, query parameters, request bodies, and responses. ```APIDOC ## GET /api/jobs/{jobId} ### Description Retrieves details for a specific job posting. ### Method GET ### Endpoint /api/jobs/{jobId} ### Parameters #### Path Parameters - **jobId** (string) - Required - The unique identifier of the job posting. ### Request Example (No request body for GET requests) ### Response #### Success Response (200) - **id** (string) - The unique identifier of the job. - **title** (string) - The title of the job. - **questions** (array) - A list of questions associated with the job. - **id** (string) - The ID of the question. - **body** (string) - The text of the question. - **type** (string) - The type of the question (e.g., "free_text"). #### Response Example ```json { "id": "job123", "title": "Software Engineer", "questions": [ { "id": "4da", "body": "Describe a win situation", "type": "free_text" } ] } ``` ### Error Handling #### Error Response (401) - **error** (string) - "Not authorized" #### Error Response (404) - **error** (string) - "Not found" ``` -------------------------------- ### Workable Roles Mapping and Request Example Source: https://workable.readme.io/reference/comment-on-candidate This section details the mapping between internal role identifiers and their corresponding names in Workable, along with a complete example of a request payload. ```APIDOC ## Workable Roles and API Request Example ### Description This section outlines the mapping between the string identifiers used in the API for collaboration roles and their human-readable names within Workable. It also provides a full example of a JSON payload that can be sent to the API. ### Roles Mapping - `admin`: Admin - `recruiting_admin`: Recruiter - `hiring_manager`: Hiring Manager - `simple`: Hiring Contributor - `reviewer`: Candidate Reviewer - `recruiter`: External Recruiter ### Request Example This is an example of a complete request body that includes member ID, a comment with its body, associated policies, and an attachment. ```json { "member_id": "3247e8c7", "comment": { "body": "He is really good", "policy": ["recruiter","admin"], "attachment": { "name": "tiny.gif", "data": "R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" } } } ``` ### Request Body Fields - **member_id** (string) - Required - The unique identifier for the member. - **comment** (object) - Required - An object containing details about the comment. - **body** (string) - Required - The content of the comment. - **policy** (array of strings) - Optional - A list of roles that can view or interact with the comment. - **attachment** (object) - Optional - An object containing details about an attached file. - **name** (string) - Required - The name of the attachment file. - **data** (string) - Required - The base64 encoded data of the attachment. ``` -------------------------------- ### GET /departments Source: https://workable.readme.io/reference/generate-an-access-token List all configured departments. ```APIDOC ## GET /departments ### Description Retrieves a list of all departments configured in your Workable account. ### Method GET ### Endpoint `/spi/v3/departments` ### Request Example ```json { "example": "curl -H \"Authorization:Bearer \" https://.workable.com/spi/v3/departments" } ``` ### Response #### Success Response (200) - **departments** (array) - A list of department objects. - **id** (string) - The unique identifier for the department. - **name** (string) - The name of the department. #### Response Example ```json { "example": "{\n \"departments\": [\n {\n \"id\": \"dep-eng\",\n \"name\": \"Engineering\"\n },\n {\n \"id\": \"dep-mkt\",\n \"name\": \"Marketing\"\n }\n ]\n}" } ``` ``` -------------------------------- ### GET /candidates Source: https://workable.readme.io/reference/generate-an-access-token Fetch a list of candidates. ```APIDOC ## GET /candidates ### Description Fetches a list of candidates from your Workable account. You can filter by job. ### Method GET ### Endpoint `/spi/v3/candidates` ### Query Parameters * **job_id** (string) - Optional - Filter candidates associated with a specific job ID. ### Request Example ```json { "example": "curl -H \"Authorization:Bearer \" https://.workable.com/spi/v3/candidates?job_id=job-abcde" } ``` ### Response #### Success Response (200) - **candidates** (array) - A list of candidate objects. - **id** (string) - The unique identifier for the candidate. - **name** (string) - The name of the candidate. - **email** (string) - The email address of the candidate. #### Response Example ```json { "example": "{\n \"candidates\": [\n {\n \"id\": \"cand-123\",\n \"name\": \"Jane Doe\",\n \"email\": \"jane.doe@example.com\"\n }\n ]\n}" } ``` ``` -------------------------------- ### GET /work_schedules Source: https://workable.readme.io/reference/generate-an-access-token List all configured work schedules. ```APIDOC ## GET /work_schedules ### Description Retrieves a list of all work schedules configured in your Workable account. ### Method GET ### Endpoint `/spi/v3/work_schedules` ### Request Example ```json { "example": "curl -H \"Authorization:Bearer \" https://.workable.com/spi/v3/work_schedules" } ``` ### Response #### Success Response (200) - **work_schedules** (array) - A list of work schedule objects. - **id** (string) - The unique identifier for the work schedule. - **name** (string) - The name of the work schedule. #### Response Example ```json { "example": "{\n \"work_schedules\": [\n {\n \"id\": \"ws-fulltime\",\n \"name\": \"Full-time\"\n },\n {\n \"id\": \"ws-parttime\",\n \"name\": \"Part-time\"\n }\n ]\n}" } ``` ``` -------------------------------- ### Get Time Off Categories (OpenAPI) Source: https://workable.readme.io/reference/timeoffcategories This OpenAPI definition describes the GET endpoint for retrieving time off categories. It specifies the request method, summary, description, operation ID, and possible responses (200 OK and 400 Bad Request), including example JSON payloads and schemas. Authentication is handled via an API key in the header. ```json { "openapi": "3.1.0", "info": { "title": "account-root", "version": "3.16.2" }, "servers": [ { "url": "https://{subdomain}.workable.com/spi/v3", "variables": { "subdomain": { "default": "subdomain" } } } ], "components": { "securitySchemes": { "sec0": { "type": "apiKey", "in": "header", "name": "Authorization", "x-bearer-format": "", "x-default": "Bearer" } } }, "security": [ { "sec0": [] } ], "paths": { "/timeoff/categories": { "get": { "summary": "/timeoff/categories", "description": "Lists the time off categories configured for your account. Required scope: `r_timeoff`.", "operationId": "timeoffcategories", "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": "{\n\t\"categories\": [\n\t\t{\n\t\t\t\"id\": \"76e\",\n\t\t\t\"name\": \"Paid time off \",\n\t\t\t\"type\": \"paid\",\n\t\t\t\"description\": \"For vacations, holidays and other paid time away from work.\"\n\t\t},\n\t\t{\n\t\t\t\"id\": \"76f\",\n\t\t\t\"name\": \"Sick leave\",\n\t\t\t\"type\": \"paid\",\n\t\t\t\"description\": \"For paid time away from work due to illness or sickness.\"\n\t\t},\n\t\t{\n\t\t\t\"id\": \"770\",\n\t\t\t\"name\": \"Unpaid leave\",\n\t\t\t\"type\": \"unpaid\",\n\t\t\t\"description\": \"For unpaid time away from work.\"\n\t\t},\n\t\t{\n\t\t\t\"id\": \"7f1\",\n\t\t\t\"name\": \"Maternity leave\",\n\t\t\t\"type\": \"paid\",\n\t\t\t\"description\": \"\"\n\t\t},\n\t\t{\n\t\t\t\"id\": \"809\",\n\t\t\t\"name\": \"rrewrew\",\n\t\t\t\"type\": \"paid\",\n\t\t\t\"description\": \"\"\n\t\t}\n\t]\n}" } }, "schema": { "type": "object", "properties": { "categories": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "example": "76e" }, "name": { "type": "string", "example": "Paid time off " }, "type": { "type": "string", "example": "paid" }, "description": { "type": "string", "example": "For vacations, holidays and other paid time away from work." } } } } } } } } }, "400": { "description": "400", "content": { "application/json": { "examples": { "Result": { "value": "{}" } }, "schema": { "type": "object", "properties": {} } } } } }, "deprecated": false } } }, "x-readme": { "headers": [], "explorer-enabled": true, "proxy-enabled": true }, "x-readme-fauxas": true } ``` -------------------------------- ### Retrieve Offer Details (OpenAPI JSON) Source: https://workable.readme.io/reference/requisitionscode-copy-1 This JSON snippet defines the OpenAPI 3.1.0 specification for the '/offers/{id}' endpoint. It details the GET request, including parameters, expected responses, and an example JSON structure for a requisition. ```json { "openapi": "3.1.0", "info": { "title": "account-root", "version": "3.16.2" }, "servers": [ { "url": "https://{subdomain}.workable.com/spi/v3", "variables": { "subdomain": { "default": "subdomain" } } } ], "components": { "securitySchemes": { "sec0": { "type": "apiKey", "in": "header", "name": "Authorization", "x-bearer-format": "", "x-default": "Bearer" } } }, "security": [ { "sec0": [] } ], "paths": { "/offers/{id}": { "get": { "summary": "/offers/:id", "description": "Returns an offer. Required scope: `r_offers`. Accessible only with user tokens.", "operationId": "requisitionscode-copy-1", "parameters": [ { "name": "id", "in": "path", "description": "The ID of the offer", "schema": { "type": "string" }, "required": true } ], "responses": { "200": { "description": "200", "content": { "application/json": { "examples": { "Result": { "value": "{\n \"requisitions\": [\n {\n \"id\": \"16d60890\",\n \"code\": \"REQ101\",\n \"job\": {\n \"id\": \"23c47225\",\n \"title\": \"Pilot\"\n },\n \"department\": {\n \"id\": \"1ee2e1d2\",\n \"name\": \"Flight\"\n },\n \"location\": {\n \"location_str\": \"California, USA\",\n \"country\": \"United States\",\n \"country_code\": \"US\",\n \"region\": \"California\",\n \"region_code\": \"CA\",\n \"city\": null,\n \"zip_code\": null\n },\n \"hiring_manager\": {\n \"id\": \"31169ee\",\n \"name\": \"Jack Shephard\"\n },\n \"owner\": {\n \"id\": \"2310f579\",\n \"name\": \"John Locke\"\n },\n \"plan_date\": \"2022-12-31\",\n \"start_date\": null,\n \"salary_range\": {\n \"from\": 60000,\n \"to\": 80000,\n \"frequency\": \"year\",\n \"currency\": \"EUR\"\n },\n \"employment_type\": \"Full-time\",\n \"reason\": \"replacement\",\n \"state\": \"pending\",\n \"requisition_attributes\": [\n {\n \"name\": \"Level\",\n \"value\": {\n \"body\": \"Senior\"\n }\n },\n {\n \"name\": \"Relocation Package?\",\n \"value\": {\n \"body\": true\n }\n },\n {\n \"name\": \"Shift\",\n \"value\": {\n \"choices\": [\n \"Morning\"\n ]\n }\n },\n {\n \"name\": \"Number of shares\",\n \"value\": {\n \"body\": 150\n }\n },\n {\n \"name\": \"Just a random date\",\n \"value\": {\n \"body\": \"2018-11-30\"\n }\n },\n {\n \"name\": \"The *real* reason\",\n \"value\": {\n \"body\": \"It was more of a spur of the moment thing. We don't really need another stranger bring a fresh perspective.\"\n }\n },\n {\n \"name\": \"T-Shirt colors\",\n \"value\": {\n \"choices\": [\n \"Creamy White\",\n \"Salmon Pink\"\n ]\n }\n },\n {\n \"name\": \"Unofficial salary\",\n \"value\": {\n \"data\": {\n \"amount\": 5000,\n \"frequency\": \"month\",\n \"currency_iso\": \"USD\"\n }\n }\n }\n ],\n \"approval_groups\": [\n {\n \"id\": \"129cf872\",\n \"approvers\": [\n {\n \"id\": \"15046d4c\",\n \"name\": \"Kate Austen\",\n \"decision\": \"approved\"\n }\n ]\n },\n {\n \"id\": \"b95a6fa\",\n \"approvers\": [\n {\n \"id\": \"2310f579\",\n \"name\": \"John Locke\",\n \"decision\": \"rejected\"\n }\n ]\n }\n ]\n }\n ]\n}" } }, "schema": { "type": "object", "properties": { "requisitions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "example": "16d60890" }, "code": { "type": "string" } } } } } } } } } } } } } } ``` -------------------------------- ### Workable API Documentation Source: https://workable.readme.io/reference/accounts This section provides details on the available endpoints for the Workable API, including their methods, parameters, request bodies, and response examples. ```APIDOC ## GET /websites/workable_readme_io-reference ### Description This endpoint appears to be a placeholder or example and does not represent a functional API operation for managing Workable data. ### Method GET ### Endpoint /websites/workable_readme_io-reference ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **example** (string) - An example HTML snippet or description. - **summary** (string) - A summary string. - **website_url** (string) - The URL of the website. #### Response Example ```json { "example": "

We’ve all spent tons of hours trying to book a trip! Well, our guys finally got tired of going through this frustrating process and passionately decided to do something about it: To change the traveller’s experience. Four years later, we stick to that idea by daily plotting the traveling revolution.

Like busy little bees, all 98 of us, customise our user-friendly software and innovative services to match leisure and business travellers needs throughout the entire journey. We create innovative and top notch travel products for a simple reason: You deserve it.

Whether it’s about booking tickets or hotels, whatever the budget, us travel lovers are dedicated to deliver you a lifetime experience. How? By empowering you to easily discover, book and have fun at the whole world!

We are innovators, idealists and perfectionists. We love raising the bar to delight and amaze our customers and that’s exactly why working with us requires a lot of you. But it’s a lot more than that. We’ll brightly reward you. We’ll develop your career. We’ll keep you excited! In other words we promise being the most exciting place for you to work at.

We are growing as crazy and we need you industry experts and passionate individuals to do things that matter and take us off! Come aboard ready to share, learn and grow.

", "summary": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam elementum posuere erat, quis mattis lectus ullamcorper sit amet. Praesent nec aliquet erat. Donec quis arcu id metus tristique eleifend. Aenean sed nunc id tortor vulputate auctor. Pellentesque ut volutpat augue, vel aliquam lectus. Maecenas mattis dictum risus, id varius nisi sodales vitae. Aenean pulvinar lacinia condimentum. Nulla id leo a tortor elementum dapibus id condimentum nibh.", "website_url": "https://www.workable.com" } ``` ## Error Handling ### 401 Unauthorized #### Description This error response is returned when the request lacks valid authentication credentials. #### Response Example ```json { "error": "Not authorized" } ``` ``` -------------------------------- ### Creating Approved Requisitions Source: https://workable.readme.io/reference/requisitions-post Guidance on how to create requisitions that are automatically approved. ```APIDOC ## Creating Approved Requisitions ### Description Guidelines for creating requisitions that bypass the approval process. ### Requirement To create approved requisitions, ensure that the requester of the action is included as an approver in your approval workflow. ``` -------------------------------- ### Get Time Off Balances (JSON Response Example) Source: https://workable.readme.io/reference/timeoffbalances This JSON snippet illustrates the expected response when calling the `/timeoff/balances` endpoint. It includes details for each time off category, such as available units, carry-over units, and whether the category offers unlimited time off. ```json { "balances": [ { "units_available": "13.00", "units_carry_over_available": "0.00", "units_used": "0.00", "has_unlimited_timeoff": false, "category_id": "76f", "time_off_tracking_unit": "full_days", "name": "Sick leave", "description": "For paid time away from work due to illness or sickness." }, { "units_available": "1.62", "units_carry_over_available": "0.00", "units_used": "0.00", "has_unlimited_timeoff": false, "category_id": "76e", "time_off_tracking_unit": "half_days", "name": "Paid time off ", "description": "For vacations, holidays and other paid time away from work." } ] } ```