{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"2fce7cd9-9b91-4402-9458-30f6bc0d34d3","name":"RecMan API","description":"Welcome to RecMan API documentation.\n\nIf you notice any problems using this API, please contact [support@recman.io](https://mailto:support@recman.io)\n\n---\n\n# Getting started\n\nHow to use our documentation\n\nThe RecMan documentation is split into different categories, which you’ll find on the left side of this page.\n\nFor each category, you’ll find all the details on how to retrieve and modify data in your RecMan account.\n\nIn most cases, the categories will have different pages to help you along the way. Here are some explanations on what you can expect to find on these pages:\n\n### Retrieve Data\n\nOn the **GET** page, you’ll find details on how to retrieve and view data from your RecMan account. Here you’ll usually find:\n\n- Details about the scope and which parameters that are required or available.\n    \n- A quick testing tool to let you try and explore the API\n    \n- Some few code-examples to help you along the way.\n    \n\nA list of all available and required fields for this scope will be located on the **reference** pages.\n\n### Insert, Update and Delete\n\nThese pages will mainly give you some quick details and few code-examples on how to insert, update and delete data in your RecMan account. These examples are built to help you understand how to use the details you’ll find on the **reference** pages.\n\nOur examples are always shown in PHP or JSON. You’re free to use the scripting language you prefer.\n\n### Reference\n\nThe reference guide pages will show you all details on how to insert, update and delete data in your RecMan account. This page will mostly start with some details about the scope, available operations and the URL to use. Underneath each scope details you’ll usually find a list of all available fields.\n\nThe fields-list will let you know which fields that are required, what kind of format you will need to use and in some cases details on where to find the data that is required.\n\nIf the scope has fields that are objects (fields with subfields) you’ll find details about the field and each subfield that is available beneath the field list.\n\n---\n\n## Obtaining an API-key\n\nNew API-keys can be generated in the System Settings-page in your RecMan account  \n**System Settings** -> **Database** -> **API** -> **Create**\n\nYou will have to be a system administrator to be able to view or create an API-key.\n\nOnce created, you will have to add access to your API-key, deciding which modules it should have access to, and which operations that are allowed.\n\n> 📝 Always limit your access to only contain the modules and operations you need. Especially if you share your API-key with external developers. \n  \n\n### Caching\n\nOne solution to restrict the number of requests (loads per day) is to download the json-file, and time stamp it. A script can check the time stamp periodically, and once the time exceeds a set limit, the system fetches a new file.\n\n### Security\n\nOur API does not support “Access-Control-Allow-Origin”. As this would basically mean that any client-side operation would expose your API-key, we have decided not to enable this feature.\n\n---\n\n# How to delete data\n\nDeleting data from RecMan are done through the **POST** method.\n\nThe **operation** must be set to `delete`.\n\nAll delete-operations across the different scopes will work the same, but for the simplicity of explaining how the delete-operatoin works, we are using the scope: `candidate`\n\n### Remove fields\n\nIf you want to remove values of fields like, for instance, email or fields connected to nested objects, you will have to use the **update**\\-operation. Please visit [Update candidate page](https://developers.recman.io/#76eee724-f408-482c-85b5-ad74909fcc5f) for more information.\n\nThe only exception is when you want to delete a value within an object, for instance removing a specific department within the **departmentIds**\\-field on a candidate.\n\n### Delete candidate example\n\nTo delete a candidate, and all of its data, you only need to provide a `candidateId`. Deleting candidates are done with a JSON object. Below you will see a small example of how the JSON-object is structured.\n\nJSON\n\n``` json\n{\n    \"key\": \"YOUR_KEY\",\n    \"scope\": \"candidate\",\n    \"operation\": \"delete\",\n    \"data\": {\n        \"candidateId\": 1209594\n    }}\n\n ```\n\n## Delete nested objects\n\nTo delete segments like an education, experience or a skill you must provide both the ID of the candidate with the nested object and the ID of the nested object you want to remove.\n\nBelow you will see an example of how to delete a single education on a specific candidate.\n\nJSON\n\n``` json\n{\n    \"key\": \"YOUR_KEY\",\n    \"scope\": \"candidate\",\n    \"operation\": \"delete\",\n    \"data\": {\n        \"candidateId\": 1209594,\n        \"education\": {\n            \"id\": 18491823\n        }\n    }}\n\n ```\n\n## Delete a specific value within an object-field\n\nIf you need to remove a given value within an object field, for instance removing a connected department on a candidate, you will need to provide the ID of the target and the field with the value you want to remove. This is similar to the update/insert statement, just with the delete-operation.\n\nBelow you will see two examples. First an example of how to delete two connected departments on a specific candidate. The second shows how to remove a driver license type from a candidate.\n\nJSON\n\n``` json\n{\n    \"key\": \"YOUR_KEY\",\n    \"scope\": \"candidate\",\n    \"operation\": \"delete\",\n    \"data\": {\n        \"candidateId\": 1209594,\n        \"departmentIds\": [231, 231]\n    }}\n\n ```\n\nJSON\n\n``` json\n{\n    \"key\": \"YOUR_KEY\",\n    \"scope\": \"candidate\",\n    \"operation\": \"delete\",\n    \"data\": {\n        \"candidateId\": 144467,\n        \"driversLicense\": ['TRUCK']\n    }}\n\n ```\n\n# Changelog\n\n14 July 2025\n\n- DEPRECTED: GET Logs no longer supports the `page` parameter for pagination.  \n    Instead, it **requires** the `minLogId` parameter to list logs starting from a specific ID and will return up to 1,000 items per request.\n    \n\n19 March 2025\n\n- Added insert, update and delete operations for department\n    \n- Added ability to fetch archived departments\n    \n\n4 March 2025\n\n- Added functionality to retrieve archived job posts included\n    \n\n14 December 2024\n\n- Added docs for job post insert and delete operations\n    \n\n17 October 2024\n\n- Added Project Custom Fields functionality\n    \n\n2 July 2024\n\n- Added functionality to retreive candidate atrributes with translations\n    \n\n19 June 2024\n\n- Added Get Work log functionality\n    \n- Extended CRM log category types\n    \n\n22 May 2024\n\n- Added ability to register unitSalary and unitInvoice for the Insert Addition request\n    \n\nNote: log salary and log invoice permissions have to enabled for an article in order to register these fields.\n\n12 December 2023\n\n- Added documentation for **candidatePool** scope\n    \n- Added support of adding / removing candidates to / from candidate pool\n    \n\n11 December 2023\n\n- Added support of creditNoteId and CreditNoteIds fields for Get Creit note scope\n    \n\n30 November 2023\n\n- Added support of instagram field for Get Job post scope\n    \n\n27 November 2023\n\n- Added support of candidate's **phoneList** field for Get, Insert, Update and Delete operations\n    \n- Added support of **locations** field for Get Job posts scope\n    \n\n16 November 2023\n\n- Added support of **substituteType** field for Insert and Update Candidate - Employee scope\n    \n\n06 November 2023\n\n- Added documentation for Insert Candidate - Accept terms scope\n    \n- Added documentation of `created` field for Insert Candidate - Job Applications scope\n    \n\n13 September 2023\n\n- Added: Candidate - Company relation handling support (insert, delete)\n    \n\n4 April 2023\n\n- New field: Job Posts - Get Job Posts - \"finnUrl\" field\n    \n\n15 March 2023\n\n- New field: Project - Insert Project Files (POST) - \"Created\" field\n    \n- New field: Insert Company - File - \"Created\" field\n    \n\n18 November 2022\n\n- Added: Work - Insert Addition\n    \n- Added: Work - Insert Absence\n    \n- Added: Other - Get Employment Group\n    \n- New field: Candidate - Employment - Employment Group (Insert, Update, Delete)\n    \n- New field: Get Candidate - Project Experience object\n    \n\n16 November 2022\n\n- Added: Candidate - Project Experience\n    \n\n11 October 2022\n\n- Added: Work - Insert Work File\n    \n- Added: Work - Delete Work File\n    \n- Added: Economy - Invoice - Credit note PDF\n    \n\n26 September 2022\n\n- Added: Economy - Invoice - Get Invoice Orders","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"20051968","team":3224734,"collectionId":"2fce7cd9-9b91-4402-9458-30f6bc0d34d3","publishedId":"UVsMt5Co","public":true,"publicUrl":"https://developers.recman.io","privateUrl":"https://go.postman.co/documentation/20051968-2fce7cd9-9b91-4402-9458-30f6bc0d34d3","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"1870d5"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"dark","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":null,"colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"1870d5"}}]}},"version":"8.10.1","publishDate":"2024-10-08T13:46:05.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":null,"logoDark":null}},"statusCode":200},"environments":[{"name":"Recman Core","id":"94ad80ee-837d-4bba-a5e4-2f29a29db4f4","owner":"20051968","values":[{"key":"api_key","value":"{{api_key}}","enabled":true,"type":"default"},{"key":"candidateId","value":"{{candidateId}}","enabled":true},{"key":"jobId","value":"{{jobId}}","enabled":true,"type":"default"},{"key":"responsibleUserId","value":"{{responsibleUserId}}","enabled":true,"type":"default"},{"key":"api_core_3_url","value":"{{api_core_3_url}}","enabled":true,"type":"default"},{"key":"companyId","value":"{{companyId}}","enabled":true,"type":"default"}],"published":true}],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/ebf4c578676a1013c79732b1557a51dfcf542e80d9f6e19090aa3edf03be44e4","favicon":"https://res.cloudinary.com/postman/image/upload/v1647505574/team/nhruv3ozotxodxu4lpbb.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"},{"label":"Recman Core","value":"20051968-94ad80ee-837d-4bba-a5e4-2f29a29db4f4"}],"canonicalUrl":"https://developers.recman.io/view/metadata/UVsMt5Co"}