{"info":{"_postman_id":"c25df722-32b0-471f-aa12-a01f0a8b998d","name":"Accutics Open API - Documentation","description":"<html><head></head><body><h1 id=\"basics\">Basics</h1>\n<p>The section will give an introduction to the overall structure of the API. The API uses a REST-like structure, while not adhering strictly to the standard, it uses HTTP verbs, status codes and URL paths in a way that should be familiar to those familiar with REST.</p>\n<p>The API is JSON based, and JSON is used in request bodies and responses. The responses format is described in greater details below.</p>\n<h2 id=\"authentication\">Authentication</h2>\n<p>All requests made to the Accutics open API, must be authenticated using a JWT based bearer token set in the <code>Authorization</code> header. The token must belong to an API user profile. Contact support to create an API user and to get instructions on how to acquire the access token corresponding to that user.</p>\n<p>The permissions granted when using the token are controlled by the project and accounts the API user is added to and the roles given to it. This is managed in the Accutics Platform.</p>\n<h2 id=\"response-format\">Response format</h2>\n<p>All successful responses follow a common format, which will be described here. Successful requests will have a <code>2xx</code> HTTP status code. See details about the response contents and status codes for specific requests in the appropriate sections of the this documentation.</p>\n<p>All responses are JSON formatted and consist of two top-level attributes as shown in the example below:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"data\": [...],\n  \"meta\": {...}\n}\n\n</code></pre>\n<p>The <code>data</code> property contains the requested data. For responses containing multiple entities the contents of the property will be an array of objects, i.e. when listing entities in \"index\" requests. Note that an index request which only contains one entity will still result in an array with a single entry. For requests that inherently returns a single entity, such as a \"show\" or \"create\" requests, the <code>data</code> attribute will contain an object.</p>\n<p>The <code>meta</code> attribute contains meta data about the response, such as paging information. The exact content depends on the given request, however it always contains the <code>endpoint</code> property, which contains the name of the endpoint used.</p>\n<h2 id=\"error-responses\">Error responses</h2>\n<p>Error responses follow a similar format to succesful responses. The <code>meta</code> property is also present here, while the <code>data</code> property is replaced by the <code>error</code> property.</p>\n<p>The <code>error</code> property contains <code>code</code> (string) which can be used in conjunction with the HTTP status code, to determine the type of error. A list of general error codes is given below - error codes specific to individual requests are described in their respective sections.</p>\n<p>The <code>message</code> property contains a human-readable description of the error that occurred.</p>\n<blockquote>\n<p>Note that the message should not be used to programatically determine the nature of an error. The messages are subject to change between API versions or even within the same version - use the HTTP status code and <code>code</code> property instead. </p>\n</blockquote>\n<p>The <code>data</code> property contains a JSON object with data, which can be used to further investigate the cause of the error. The contents of the object varies between different requests and error codes.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"error\": {\n        \"code\": \"...\",\n        \"message\": \"...\",\n        \"data\": {...}\n    },\n    \"meta\": {\n        \"endpoint\": \"...\"\n    }\n}\n\n</code></pre>\n<h3 id=\"general-errors\">General errors</h3>\n<p>The table below documents general error responses that are not specific to certain requests.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status code</th>\n<th><strong>Error code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>400</td>\n<td><code>invalid_route</code></td>\n<td>Occurs if a request is made with a URL path that does not match any endpoint in the open API or an incorrect HTTP method is used.</td>\n</tr>\n<tr>\n<td>401</td>\n<td><code>authorization_header_missing</code></td>\n<td>Occurs if the <code>Authorization</code> header is not set in the request or it's empty.</td>\n</tr>\n<tr>\n<td>403</td>\n<td><code>authorization</code></td>\n<td>The API user doesn't have the required permission to access the requested resource.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"request-options\">Request options</h2>\n<p>This section describes common options that can be used across various requests.</p>\n<h3 id=\"paging\">Paging</h3>\n<p>For requests that list entities, paging can be used to request data page by page. The following query string parameter are supported:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Example</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>page_size</code></td>\n<td>The maximum number of entities returned in the response. Various requests will have different max page sizes. If a page size greater than the maximum is requested, the page size is limited to the maximum page size.</td>\n<td>50</td>\n</tr>\n<tr>\n<td><code>page</code></td>\n<td>The page number to return in the response. To get the first page the parameter can be omitted or set to 1.</td>\n<td>2</td>\n</tr>\n</tbody>\n</table>\n</div><p>Requests supporting pagination will have the <code>pagination</code> property in the <code>meta</code> property of the response. It contains the following information.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Example</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>first</code></td>\n<td>The URL to the first page.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>previous</code></td>\n<td>The URL to the previous page, if one exists.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>current</code></td>\n<td>The URL to the current page.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>next</code></td>\n<td>The URL to the next page of data, if more pages exist.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>last</code></td>\n<td>The URL to the last page of entities.</td>\n<td></td>\n</tr>\n<tr>\n<td><code>items_per_page</code></td>\n<td>The number of entities per page.</td>\n<td>100</td>\n</tr>\n<tr>\n<td><code>total_items</code></td>\n<td>The total number of entities.</td>\n<td>245</td>\n</tr>\n<tr>\n<td><code>page_param</code></td>\n<td>The name of the parameter used to specify the requested page (static value).</td>\n<td>\"page\"</td>\n</tr>\n<tr>\n<td><code>size_param</code></td>\n<td>The name of the parameter used to specify the page size (static value).</td>\n<td>\"page_size\"</td>\n</tr>\n</tbody>\n</table>\n</div><p>The property contains an object defined by the following JSON Schema.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"first\": {\"type\": \"string\"},\n        \"previous\": {\"type\": [\"string\", \"null\"]},\n        \"current\": {\"type\": \"string\"},\n        \"next\": {\"type\": [\"string\", \"null\"]},\n        \"last\": {\"type\": \"string\"},\n        \"items_per_page\": {\"type\": \"integer\"},\n        \"total_items\": {\"type\": \"integer\"},\n        \"page_param\": {\"type\": \"string\"},\n        \"size_param\": {\"type\": \"string\"}\n    }\n}\n\n</code></pre>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Basics","slug":"basics"}],"owner":"4709959","collectionId":"c25df722-32b0-471f-aa12-a01f0a8b998d","publishedId":"2sAYHwHPgh","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2025-02-27T09:46:23.000Z"},"item":[{"name":"Dataset options","item":[{"name":"Get dataset options - Project","id":"f809fac5-e263-49e0-897b-4eab39aa739a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.accutics.com/standardize/v1/projects/:project_id/datasets/:dataset_id/options","description":"<h3 id=\"get-standardize-project-dataset-options\">Get Standardize Project Dataset Options</h3>\n<p>This endpoint retrieves a paginated list of options for a specific dataset within a project.</p>\n<h4 id=\"request\">Request</h4>\n<h5 id=\"supported-basic-functionality\">Supported basic functionality</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Functionality</strong></th>\n<th><strong>Details</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Pagination</td>\n<td>Max page size: 1000  <br />Default page size: 1000</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\">Response</h4>\n<p>The response for this request can be represented as a JSON schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"object\",\n  \"properties\": {\n    \"data\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"value\": { \"type\": \"string\" },\n          \"abbreviation\": { \"type\": \"string\" }\n        }\n      }\n    },\n    \"meta\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"paging\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"first\": { \"type\": \"string\" },\n            \"previous\": { \"type\": \"string\" },\n            \"current\": { \"type\": \"string\" },\n            \"next\": { \"type\": \"string\" },\n            \"last\": { \"type\": \"string\" },\n            \"items_per_page\": { \"type\": \"integer\" },\n            \"total_items\": { \"type\": \"integer\" },\n            \"page_param\": { \"type\": \"string\" },\n            \"size_param\": { \"type\": \"string\" }\n          }\n        },\n        \"sorting\": { \"type\": \"array\" },\n        \"endpoint\": { \"type\": \"string\" }\n      }\n    }\n  }\n}\n\n</code></pre>\n<h5 id=\"error-codes\">Error codes</h5>\n<p>In addition to the common error codes</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status code</strong></th>\n<th><strong>Error code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>404</td>\n<td><code>dataset_not_found</code></td>\n<td>No dataset exists with the given ID belonging to the given project.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[]},"isInherited":true,"source":{"_postman_id":"c25df722-32b0-471f-aa12-a01f0a8b998d","id":"c25df722-32b0-471f-aa12-a01f0a8b998d","name":"Accutics Open API - Documentation","type":"collection"}},"urlObject":{"path":["projects",":project_id","datasets",":dataset_id","options"],"host":["https://api.accutics.com/standardize/v1"],"query":[],"variable":[{"description":{"content":"<p>The ID (UUID) of the project the desired dataset belongs to.</p>\n","type":"text/plain"},"type":"any","value":"","key":"project_id"},{"description":{"content":"<p>The ID (UUID) of the desired dataset.</p>\n","type":"text/plain"},"type":"any","value":"","key":"dataset_id"}]}},"response":[],"_postman_id":"f809fac5-e263-49e0-897b-4eab39aa739a"},{"name":"Get dataset options - Company","id":"ab3a6558-4523-4c62-83ef-3044b3d7e46e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.accutics.com/standardize/v1/divisions/:division_id/datasets/:dataset_id/options","description":"<h3 id=\"get-standardize-company-dataset-options\">Get Standardize Company Dataset Options</h3>\n<p>This endpoint retrieves a paginated list of options for a specific dataset within a company (division).</p>\n<h4 id=\"request\">Request</h4>\n<h5 id=\"supported-basic-functionality\">Supported basic functionality</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Functionality</strong></th>\n<th><strong>Details</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Pagination</td>\n<td>Max page size: 1000  <br />Default page size: 1000</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\">Response</h4>\n<p>The response for this request can be represented as a JSON schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"object\",\n  \"properties\": {\n    \"data\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"value\": { \"type\": \"string\" },\n          \"abbreviation\": { \"type\": \"string\" }\n        }\n      }\n    },\n    \"meta\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"paging\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"first\": { \"type\": \"string\" },\n            \"previous\": { \"type\": \"string\" },\n            \"current\": { \"type\": \"string\" },\n            \"next\": { \"type\": \"string\" },\n            \"last\": { \"type\": \"string\" },\n            \"items_per_page\": { \"type\": \"integer\" },\n            \"total_items\": { \"type\": \"integer\" },\n            \"page_param\": { \"type\": \"string\" },\n            \"size_param\": { \"type\": \"string\" }\n          }\n        },\n        \"sorting\": { \"type\": \"array\" },\n        \"endpoint\": { \"type\": \"string\" }\n      }\n    }\n  }\n}\n\n</code></pre>\n<h5 id=\"error-codes\">Error codes</h5>\n<p>In addition to the common error codes</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status code</strong></th>\n<th><strong>Error code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>404</td>\n<td><code>dataset_not_found</code></td>\n<td>No dataset exists with the given ID belonging to the given company (division).</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[]},"isInherited":true,"source":{"_postman_id":"c25df722-32b0-471f-aa12-a01f0a8b998d","id":"c25df722-32b0-471f-aa12-a01f0a8b998d","name":"Accutics Open API - Documentation","type":"collection"}},"urlObject":{"path":["divisions",":division_id","datasets",":dataset_id","options"],"host":["https://api.accutics.com/standardize/v1"],"query":[],"variable":[{"description":{"content":"<p>The ID (UUID) of the company (division) the desired dataset belongs to.</p>\n","type":"text/plain"},"type":"any","value":"","key":"division_id"},{"description":{"content":"<p>The ID (UUID) of the desired dataset.</p>\n","type":"text/plain"},"type":"any","value":"","key":"dataset_id"}]}},"response":[],"_postman_id":"ab3a6558-4523-4c62-83ef-3044b3d7e46e"}],"id":"7e793bf2-7307-4281-a1cc-20377a3e9e9a","description":"<p>This section details the endpoints for fetching and manipulating dataset options. Datasets can be owned by either a project or a division, and depending on this ownership the path of the endpoints vary slightly.</p>\n<p>When interacting with dataset options for datasets that belong to a project the path will include <code>/project/:project_id/</code> while for datasets beloning to divisions the path will include <code>/division/:division_id/</code>.</p>\n<p>For information about datasets and dataset values, see our knowledgebase article on the subject <a href=\"https://help.accutics.com/support/solutions/articles/101000512129-configure-a-dataset-dataset-manager\">here</a>.</p>\n","_postman_id":"7e793bf2-7307-4281-a1cc-20377a3e9e9a","auth":{"type":"bearer","bearer":{"basicConfig":[]},"isInherited":true,"source":{"_postman_id":"c25df722-32b0-471f-aa12-a01f0a8b998d","id":"c25df722-32b0-471f-aa12-a01f0a8b998d","name":"Accutics Open API - Documentation","type":"collection"}}},{"name":"Allowed options","item":[{"name":"Get allowed options","id":"31b5e0b7-ad42-4580-80b2-715a9ffb4c25","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.accutics.com/standardize/v1/projects/:project_id/dependency_variants/:dependency_variant_id/allowed_options","description":"<h3 id=\"get-standardize-company-dataset-options\">Get Standardize Company Dataset Options</h3>\n<p>This endpoint retrieves a paginated list of options for a specific dataset within a company (division).</p>\n<h4 id=\"request\">Request</h4>\n<h5 id=\"supported-basic-functionality\">Supported basic functionality</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Functionality</strong></th>\n<th><strong>Details</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Pagination</td>\n<td>Max page size: 1000  <br />Default page size: 1000</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\">Response</h4>\n<p>The response for this request can be represented as a JSON schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"object\",\n  \"properties\": {\n    \"data\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"value\": {\n            \"type\": \"string\"\n          },\n          \"abbreviation\": {\n            \"type\": [\"string\", \"null\"]\n          },\n          \"dictating_datasets\": {\n            \"type\": \"array\",\n            \"minItems\": 1,\n            \"maxItems\": 3,\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"value\": {\n                  \"type\": \"string\"\n                },\n                \"abbreviation\": {\n                  \"type\": [\"string\", \"null\"]\n                }\n              },\n              \"required\": [\"value\"]\n            }\n          }\n        },\n        \"required\": [\"value\", \"dictating_datasets\"]\n      }\n    },\n    \"meta\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"paging\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"first\": { \"type\": \"string\" },\n            \"previous\": { \"type\": \"string\" },\n            \"current\": { \"type\": \"string\" },\n            \"next\": { \"type\": \"string\" },\n            \"last\": { \"type\": \"string\" },\n            \"items_per_page\": { \"type\": \"integer\" },\n            \"total_items\": { \"type\": \"integer\" },\n            \"page_param\": { \"type\": \"string\" },\n            \"size_param\": { \"type\": \"string\" }\n          }\n        },\n        \"sorting\": { \"type\": \"array\" },\n        \"endpoint\": { \"type\": \"string\" }\n      }\n    }\n  }\n}\n\n</code></pre>\n<h5 id=\"error-codes\">Error codes</h5>\n<p>In addition to the common error codes</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status code</strong></th>\n<th><strong>Error code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>404</td>\n<td><code>dataset_not_found</code></td>\n<td>No dataset exists with the given ID belonging to the given company (division).</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[]},"isInherited":true,"source":{"_postman_id":"c25df722-32b0-471f-aa12-a01f0a8b998d","id":"c25df722-32b0-471f-aa12-a01f0a8b998d","name":"Accutics Open API - Documentation","type":"collection"}},"urlObject":{"path":["projects",":project_id","dependency_variants",":dependency_variant_id","allowed_options"],"host":["https://api.accutics.com/standardize/v1"],"query":[],"variable":[{"description":{"content":"<p>The ID (UUID) of the project the desired dataset belongs to.</p>\n","type":"text/plain"},"type":"any","value":"","key":"project_id"},{"description":{"content":"<p>The ID (UUID) of the desired dataset.</p>\n","type":"text/plain"},"type":"any","value":"","key":"dependency_variant_id"}]}},"response":[],"_postman_id":"31b5e0b7-ad42-4580-80b2-715a9ffb4c25"}],"id":"e1eeafd4-4bea-42e7-852b-c662a6df5b02","description":"<p>This section details the endpoints for fetching the allowed options for a dataset dependency variant.</p>\n<p>For information about dependency variants and allowed options, see our knowledgebase article on the subject <a href=\"https://help.accutics.com/support/solutions/articles/101000512821-create-a-dependency-variant\">here</a>.</p>\n<p>The data in the responses from this endpoint lists the values from the corresponding dataset, along with the values from the dictating dataset(s) defined in the dependency variant. If the same value is allowed for multiple combinations of values from the dictating datasets, it will appear multiple times in the response (possibly on different pages). The values from the dictating datasets are listed in the <code>dictating_datasets</code> array for each value in the order in which the dictating datasets are set in the dependency variant.</p>\n<p>Consider the following example. A project contains a dataset containing marketing channels (Social Paid, Social Organic, Search, etc.) called \"Channels\" and a dataset containing sources (Facebook, Google Ads, etc.) called Sources. The \"Sources\" dataset has a depencency variant with a single dependency - the \"Channels\" dataset.</p>\n<p>The \"Facebook\" source is allowed when the channel is \"Social Paid\" or \"Social Organic\" so it appears twice in the response.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"data\": [\n    {\n      \"value\": \"Facebook\", // First occurence.\n      \"abbreviation\": \"fb\",\n      \"dictating_datasets\": [\n        {\n          \"value\": \"Social Paid\",\n          \"abbreviation\": \"socp\"\n        }\n      ]\n    },\n    {\n      \"value\": \"Facebook\", // Second occurence.\n      \"abbreviation\": \"fb\",\n      \"dictating_datasets\": [\n        {\n          \"value\": \"Social Organic\",\n          \"abbreviation\": \"soco\"\n        }\n      ]\n    },\n    {\n      \"value\": \"Google Ads\",\n      \"abbreviation\": \"ga\",\n      \"dictating_datasets\": [\n        {\n          \"value\": \"Search\",\n          \"abbreviation\": \"search\"\n        }\n      ]\n    }\n  ],\n  \"meta\": [...]\n}\n\n</code></pre>\n","_postman_id":"e1eeafd4-4bea-42e7-852b-c662a6df5b02","auth":{"type":"bearer","bearer":{"basicConfig":[]},"isInherited":true,"source":{"_postman_id":"c25df722-32b0-471f-aa12-a01f0a8b998d","id":"c25df722-32b0-471f-aa12-a01f0a8b998d","name":"Accutics Open API - Documentation","type":"collection"}}},{"name":"Records","item":[{"name":"Create record","id":"8856f60c-4bc7-4ed1-b26f-8386c0355cf9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://api.accutics.com/standardize/v1/projects/:project_id/records","description":"<p>This endpoint is used to create a new record on a specific project.</p>\n<blockquote>\n<p><strong>Limitations</strong><br />An input field can have a default value which is a predefined value that is visible in the UI. Those are not predefined when sending requests through the API, meaning that any non-specified fields will be considered null. </p>\n</blockquote>\n<h4 id=\"request\">Request</h4>\n<p>The contents of the request body must be customized for the given project to include the inputs configured on the project. Inputs are set using their IDs as key and desired value, as shown in the example below. All mandatory fields must be set.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"data\": {\n        \"b13022d2-6f57-4cda-846f-713e4f8769c7\": \"https://www.example.com\",\n        \"d952013e-2545-42e0-b327-a5c467563baf\": \"Paid Search\",  \n        \"37ff53d1-3820-4979-8081-7dcc8b781789\": \"Google Ads\",\n        \"f14a8d20-2e56-458a-b6dc-d8ec2adae6ce\": \"My Campaign\"\n    }\n}\n\n</code></pre>\n<p>The value provided depends on the type of input field. The the example above have four inputs with the following types, URL, Dropdown, Dropdown and Text. All available input field types are described in our knowledgebase <a href=\"https://help.accutics.com/support/solutions/articles/101000376916-input-field-types\">here</a>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Input field type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Example</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Text</td>\n<td>Free text value. The value must follow any validation rules configured for the field. Transformations may be applied to the given value when the record is created.</td>\n<td><code>\"Lorem ipsum\"</code></td>\n</tr>\n<tr>\n<td>Dropdown (single-select)</td>\n<td>The value (friendly value) of the desired value option - not the abbreviation.</td>\n<td><code>\"Google Ads\"</code></td>\n</tr>\n<tr>\n<td>Multiselect</td>\n<td>The same a Dropdown, but must be an array containing one or more values.</td>\n<td><code>[\"Google Ads\", \"Facebook\"]</code></td>\n</tr>\n<tr>\n<td>Checkbox</td>\n<td>Must be either the \"Checked\" or \"Unchecked\" value configured for the input field. The defaults are <code>true</code> and <code>false</code>, respectively. Note that it will always be a string value.</td>\n<td><code>\"true\"</code></td>\n</tr>\n<tr>\n<td>Date</td>\n<td>Must be a valid date using the format configured for the input field. The default format is <code>{d}/{m}/{Y}</code> (see the date format macro specification <a href=\"https://help.accutics.com/support/solutions/articles/101000509193-supported-macros-for-date-and-time-formats\">here</a>).</td>\n<td><code>\"31/04/2025\"</code></td>\n</tr>\n<tr>\n<td>URL</td>\n<td>A valid URL.</td>\n<td><code>\"https://www.example.com\"</code></td>\n</tr>\n<tr>\n<td>Headline</td>\n<td>Headlines are used for form layout only and values cannot be provided for this input field type.</td>\n<td><em>N/a</em></td>\n</tr>\n<tr>\n<td>Reference</td>\n<td>The ID (UUID) of the referenced record.</td>\n<td><code>\"bffece13-e79d-4ab0-8f45-49bd868de34c\"</code></td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"special-functionality\">Special functionality</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Functionality</strong></th>\n<th><strong>Details</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Validation rule enforcement.</td>\n<td>By default, any validation rules configured for an input field that transform the input value will be applied. If transformations have alrady been applied, this behaviour can be disabled by adding the <code>meta</code> attribute to the root of the request body as shown below:</td>\n</tr>\n</tbody>\n</table>\n</div><pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{  \n  \"data\": {...},\n  \"meta\": {  \n    \"validation_rules_already_enforced\": true\n  }\n}\n\n</code></pre>\n<h5 id=\"error-codes\">Error codes</h5>\n<p>In addition to the common error codes</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status code</strong></th>\n<th><strong>Error code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>422</td>\n<td><code>input_validation</code></td>\n<td>One or more invalid inputs were detected in the request. The <code>message</code> includes information about the first error, including the ID of the field. The <code>data</code> contains details to help debug the error. The details depend on the type of the input field.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[]},"isInherited":true,"source":{"_postman_id":"c25df722-32b0-471f-aa12-a01f0a8b998d","id":"c25df722-32b0-471f-aa12-a01f0a8b998d","name":"Accutics Open API - Documentation","type":"collection"}},"urlObject":{"path":["projects",":project_id","records"],"host":["https://api.accutics.com/standardize/v1"],"query":[],"variable":[{"description":{"content":"<p>The ID (UUID) of the project the record will be created in.</p>\n","type":"text/plain"},"type":"any","value":"","key":"project_id"}]}},"response":[],"_postman_id":"8856f60c-4bc7-4ed1-b26f-8386c0355cf9"},{"name":"Update record","id":"dc2407cf-abc4-465f-aa40-12624a1d91e1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://api.accutics.com/standardize/v1/projects/:project_id/records/:record_id","description":"<p>This endpoint is used to update an existing record on the specified project.</p>\n<p>Note, that updating records on a project may not be possible or require certain permissions, depending on the configuration of the project. See the knowledgebase article on the subject <a href=\"https://help.accutics.com/support/solutions/articles/101000465617-edit-submitted-records\">here</a>.</p>\n<p>Individual input fields could also have editing disabled. In such cases, the input field must either be omitted from the request, or the value must be the same as the original.</p>\n<p>Validation errors could also occur on input field that are not included in the request if the configuration has changed since the record was created in a way that makes the original value invalid.</p>\n<h4 id=\"request\">Request</h4>\n<p>The structure of the request is the same as for the \"Create record\" endpoint, with the exception, that only the inputs provided in the request will be modified - all inputs not specied in the request will maintain their original values. Note that depending on the configuration of the project, changing the value of one input field could make another invalid, even if it is not specified in the request.</p>\n<p>To \"unset\" the value of an optional input field, specify the input field key, but set the value to <code>null</code> as shown in the example below.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"data\": {\n    \"b13022d2-6f57-4cda-846f-713e4f8769c7\": null\n  }\n}\n\n</code></pre>\n<h5 id=\"special-functionality\">Special functionality</h5>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Functionality</strong></th>\n<th><strong>Details</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Validation rule enforcement.</td>\n<td>By default, any validation rules configured for an input field that transform the input value will be applied. If transformations have alrady been applied, this behaviour can be disabled by adding the <code>meta</code> attribute to the root of the request body as shown below:</td>\n</tr>\n</tbody>\n</table>\n</div><pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{  \n  \"data\": {...},\n  \"meta\": {  \n    \"validation_rules_already_enforced\": true\n  }\n}\n\n</code></pre>\n<h5 id=\"error-codes\">Error codes</h5>\n<p>In addition to the common error codes</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status code</strong></th>\n<th><strong>Error code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>422</td>\n<td><code>input_validation</code></td>\n<td>One or more invalid inputs were detected in the request. The <code>message</code> includes information about the first error, including the ID of the field. The <code>data</code> contains details to help debug the error. The details depend on the type of the input field.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[]},"isInherited":true,"source":{"_postman_id":"c25df722-32b0-471f-aa12-a01f0a8b998d","id":"c25df722-32b0-471f-aa12-a01f0a8b998d","name":"Accutics Open API - Documentation","type":"collection"}},"urlObject":{"path":["projects",":project_id","records",":record_id"],"host":["https://api.accutics.com/standardize/v1"],"query":[],"variable":[{"description":{"content":"<p>The ID (UUID) of the project the project the record belongs to.</p>\n","type":"text/plain"},"type":"any","value":"","key":"project_id"},{"description":{"content":"<p>The ID (UUID) of the record to be updated.</p>\n","type":"text/plain"},"type":"any","value":"","key":"record_id"}]}},"response":[],"_postman_id":"dc2407cf-abc4-465f-aa40-12624a1d91e1"}],"id":"f3e5caf9-c074-4e57-b50c-38e59d250444","_postman_id":"f3e5caf9-c074-4e57-b50c-38e59d250444","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[]},"isInherited":true,"source":{"_postman_id":"c25df722-32b0-471f-aa12-a01f0a8b998d","id":"c25df722-32b0-471f-aa12-a01f0a8b998d","name":"Accutics Open API - Documentation","type":"collection"}}}],"auth":{"type":"bearer","bearer":{"basicConfig":[]}},"event":[{"listen":"prerequest","script":{"id":"f716f1c4-7731-4298-8344-02fbe00c2d11","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"99ba00d0-972f-4304-a32a-089e9cc9aafa","type":"text/javascript","packages":{},"exec":[""]}}],"variable":[{"key":"api_version","value":"v1","type":"string"},{"key":"tcc_domain","value":"api.accutics.com","type":"string"},{"key":"tcc_base_url","value":"https://api.accutics.com/standardize/v1","type":"string"}]}