{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"872bdf6a-e275-4f0c-9967-00fd9e783bdd","name":"FAMAC API V2","description":"### **Introduction**\n\nThis API enables seamless integration with FAMAC, allowing you to manage data through 3rd-party applications.\n\n### **Access Control**\n\nTo request access, please reach out to your FDVhuset representative or email [support@fdvhuset.no](https://null).\n\nIn order to grant access, you must meet the following requirements:\n\n- Provide documentation that confirms the customer has authorized access to their data.\n    \n- Specify the API endpoints you need access to.\n    \n- Include the token in an Authorization header.\n    \n\n### **Support**\n\nIf you cannot locate the endpoints required for your integration, please reach out to us at [support@fdvhuset.no](https://null). Include details about your request and any relevant information to help us assist you effectively.\n\n### **Environment Variables**\n\nThis collection includes pre-configured environments to streamline your setup process. To use the pre-configured environment for the FAMAC API, follow these steps:\n\n1. In Postman, open the environment drop-down menu located in the top-right corner.\n    \n2. Select **\"FAMAC API\"** from the list of available environments.\n    \n3. Set the access key provided by FDVhuset in the environment configuration.\n    \n\nYou're now ready for liftoff!\n\n### **Common Response Codes**\n\nThe following HTTP response status codes may be returned depending on the situation:\n\n- **200 Success:** The request was successfully processed.\n    \n- **201 Created:** The request was successful, and a new resource was created.\n    \n- **400 Bad Request:** The request was invalid or cannot be processed.\n    \n- **401 Unauthorized:** Authentication is required or has failed.\n    \n- **403 Forbidden:** You do not have permission to access the requested resource.\n    \n- **404 Not Found:** The requested resource could not be found.\n    \n- **422 Unprocessable Entity:** The request was well-formed but contains errors that prevent it from being processed.\n    \n- **500 Server Error:** An unexpected error occurred on the server. Please contact support to resolve the issue.\n    \n\n## **Changelog**\n\n#### **15.12.2025**\n\n###### Enhancements and additional query parameters:\n\n- **GET /v2/integrations/eye-share/orders**\n    \n    - Added optional query parameter \"update_order_status_to_invoice_received\". Setting this to true will update all invoices with status \"ordered\" to \"invoice-received\".\n        \n    - Added support for returning deleted orders and order lines. Delete records are marked with \"is_deleted\" flag.\n        \n\n#### **10.12.2025**\n\n###### New endpoints:\n\n- **GET /v2/integrations/eye-share/orders** – Read eye-share orders registered in FAMAC.\n    \n- **GET /v2/integrations/eye-share/suppliers** – Get eye-share suppliers.\n    \n\n#### **30.09.2025**\n\n###### Enhancements and additional query parameters:\n\n- **POST /v2/actual-costs/search** – Added optional filters:\n    \n    - \"registration_date_from\" / \"registration_date_until\" – Filter costs by registration date range\n        \n    - \"updated_since\" – Fileter costs created or updated since this date\n        \n    - \"billable\" – Filter by billable or non-billable costs\n        \n    - \"active\" – Filkter by costs associated with active activities or signouts\n        \n    - \"account_type_id\" – Filter by account type\n        \n    - \"mva_id\" – Filter by MVA (VAT)\n        \n    - \"locale\" – Localize response by language/region\n        \n    - \"page\" / \"page_size\" – Pagination parameters\n        \n\n#### **24.09.2025**\n\n###### New endpoints and additional query parameters:\n\n- **GET /v2/deviations** – Added optional query parameter `\"responsible-role\"` to filter deviations by responsible role.\n    \n- **GET /v2/activities** – Added `\"checklists\"` to the response.\n    \n- **GET /v2/activity-signouts** – Added `\"checklists\"` to the response.\n    \n- **GET /v2/systems** – Retrieve all systems.\n    \n- **GET /v2/systems/{entity-type}/{entity-id}** – Retrieve systems for a specific entity type and ID.\n    \n- **GET /v2/systems/{system-id}** – Retrieve detailed information for a specific system.\n    \n- **POST /v2/systems** – Create a new system.\n    \n- **GET /v2/system-categories** – Retrieve system categories, supporting both NS3451:2009 and NS3451:2022.\n    \n\n#### **03.03.2025**\n\n###### Enhancements and additional query parameters:\n\n- **GET /v2/conditions** – Added the with parameter `\"state-created-from-deviation\"` to retrieve the link between a deviation and its associated condition.\n    \n- **GET /v2/projects** – Added the with parameter `\"message-board\"` to include the message board for a project.\n    \n- **GET /v2/cleanings/extra-cleaning** – Introduced the `\"updated-since\"` filter parameter and added pagination support to the endpoint.\n    \n\n#### **16.12.2024**\n\n###### _Adds pagination to actual cost endpoints:_\n\n- `GET /v2/activities/active/actualCost`\n    \n- `GET /v2/activities/active/actualCost/{activity-id}`\n    \n- `GET /v2/activities/done/actualCost`\n    \n- `GET /v2/activities/done/actualCost/{activity-id}`\n    \n\n#### **14.11.2024**\n\n###### _Minor framework version bump and updates to existing endpoints:_\n\n- **`GET /v2/activity-signouts`** - Added 'executed_on_date' to the default response.\n    \n- **`GET /v2/activity-signouts/{{entity-type}}/{{entity-id}}`** - Added 'executed_on_date' to the default response.\n    \n\n#### **07.11.2024**\n\n###### _New endpoint for creating activities:_\n\n- `POST /v2/activities` - Create an activity\n    \n\n#### **06.11.2024**\n\n###### _New endpoint and token updates:_\n\n- `GET /v2/integration/visma-eprocurement/suppliers` - Get a list of Visma suppliers and linked users\n    \n- _Token logic_: Security enhancements in authentication logic.\n    \n\n#### **17.10.2024**\n\n###### _New endpoints for actual costs and VAT codes:_\n\n- `PATCH /v2/actual-costs` - Update an actual cost.\n    \n- `DELETE /v2/actual-costs/{cost-id}` - Delete an actual cost.\n    \n- `POST /v2/actual-costs/documents` - Upload documents to an actual cost.\n    \n- `GET /v2/vat-codes` - Get all VAT codes.\n    \n\n###### _Changes to existing endpoints:_\n\n- `POST /v2/messages` - Create message: HTML line breaks on system added text have been replaced with EOL chanracters.\n    \n\n#### **10.10.2024**\n\n###### _New endpoints for actual costs:_\n\n- `GET /v2/actual-costs/{cost-id}` - Retrieve details of a actual cost\n    \n- `POST /v2/actual-costs/search` - Search for actual costs by activity ID or signout ID\n    \n- `POST /v2/actual-costs` - Create a new actual cost\n    \n- `GET /v2/account-types` - Retrieve available account types\n    \n\n###### _Changes to Existing Endpoints:_\n\n- `POST /v2/messages` - Removed prepended text Message from :token-name: for greater integration control. The user_name field is no longer required.\n    \n- _Bug fix_: Resolved an issue where some tokens were not decoded correctly, causing errors.\n    \n\n#### **17.09.2024**\n\n###### _First version of the v2 documentation published._\n\nThis is the initial release of our version 2 documentation. If you come across any missing information or have suggestions for improving clarity, please feel free to contact us.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":true,"owner":"29513714","team":1353571,"collectionId":"872bdf6a-e275-4f0c-9967-00fd9e783bdd","publishedId":"2sAXqqdNow","public":true,"publicUrl":"https://docs.famacweb.no","privateUrl":"https://go.postman.co/documentation/29513714-872bdf6a-e275-4f0c-9967-00fd9e783bdd","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"037acf"},"documentationLayout":"classic-single-column","customisation":{"metaTags":[{"name":"description","value":"The FAMAC API v2 evolves through collaboration with customers and integration partners. Explore our growing set of endpoints, built to meet specific needs as they are discovered. Access detailed documentation to streamline your integration and contact us for further support."},{"name":"title","value":"FAMAC API v2 Documentation | Built with Customer &amp; Partner Collaboration"}],"appearance":{"default":"system_default","themes":[{"name":"dark","logo":"https://content.pstmn.io/4ef3814f-46f3-4c2f-8f87-7b6c001393cb/RkFNQUMgbHlzIGJ1bm5AMC41eC04MC5qcGc=","colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"037acf"}},{"name":"light","logo":"https://content.pstmn.io/e68ab601-3b37-4f1a-b0c1-e4255362fe24/RkFNQUMgbHlzIGJ1bm4gKDEpLnBuZw==","colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"037acf"}}]}},"version":"8.10.1","publishDate":"2024-11-04T11:26:09.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"FAMAC API v2 Documentation | Built with Customer &amp; Partner Collaboration","description":"The FAMAC API v2 evolves through collaboration with customers and integration partners. Explore our growing set of endpoints, built to meet specific needs as they are discovered. Access detailed documentation to streamline your integration and contact us for further support."},"logos":{"logoLight":"https://content.pstmn.io/e68ab601-3b37-4f1a-b0c1-e4255362fe24/RkFNQUMgbHlzIGJ1bm4gKDEpLnBuZw==","logoDark":"https://content.pstmn.io/4ef3814f-46f3-4c2f-8f87-7b6c001393cb/RkFNQUMgbHlzIGJ1bm5AMC41eC04MC5qcGc="}},"statusCode":200},"environments":[{"name":"FAMAC Production","id":"edfc17a0-b129-4e29-ae67-3d7071ce003c","owner":"29513714","values":[{"key":"base-url","value":"https://api.famacweb.no/","enabled":true},{"key":"access-token","value":"","enabled":true,"type":"default"},{"key":"locale","value":"en","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/2adf57fe47198863d2d0b63f27024060836372a525fc599b663c90c3daf9c274","favicon":"https://famacweb.no/favicon.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":"FAMAC Production","value":"29513714-edfc17a0-b129-4e29-ae67-3d7071ce003c"}],"canonicalUrl":"https://docs.famacweb.no/view/metadata/2sAXqqdNow"}