Optional UUID of the template to use for the integration. Specifying a non-existing template, or an incompatible template will result in a 400 response.
Example:
"018eae56-8f9d-7ca0-bea3-17f3db6cf75b"
Response
System Integration Response
A response object with a single system integration
An object representing a system integration in Twine.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Twine Integrations","colors":{"primary":"#7600ff","light":"#ad66ff","dark":"#7600ff"},"logo":{"light":"https://mintcdn.com/entwineab/W0WCY-b2dvTokvLn/logo/light.svg?fit=max\u0026auto=format\u0026n=W0WCY-b2dvTokvLn\u0026q=85\u0026s=7e70d0ec35e8816f98a512eafa2ad35b","dark":"https://mintcdn.com/entwineab/W0WCY-b2dvTokvLn/logo/dark.svg?fit=max\u0026auto=format\u0026n=W0WCY-b2dvTokvLn\u0026q=85\u0026s=bcf15f923005d67de257a74c061db962"},"favicon":"https://mintcdn.com/entwineab/OPi-j2jbIEGoK6fy/favicon.svg?fit=max\u0026auto=format\u0026n=OPi-j2jbIEGoK6fy\u0026q=85\u0026s=190facce372d84ae3de157af3da0688e","navbar":{"links":[{"href":"mailto:[email protected]","label":"Support"},{"href":"https://app-stage.twine.se","label":"Stage"}],"primary":{"type":"button","label":"App","href":"https://app.twine.se"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"twine.se","icon":"globe","href":"https://www.twine.se"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"entwineab","hasAudioNarration":false,"actualSubdomain":"entwineab","customDomains":["docs.twine.se"],"gitSource":{"type":"github","owner":"twine-se","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6acf668b4788a74327b72032","collectionId":"027bd1b7-2940-449a-bfcf-f8ccfca1f9a2","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6acf668b4788a74327b72032"},"entitlements":{},"buildId":"6acf668b4788a74327b72032","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"API Reference","count":149},{"language":"default","tag":"Data Engine","count":86},{"language":"default","tag":"Integrations","count":72},{"language":"default","tag":"Flow Engine","count":41},{"language":"default","tag":"Platform","count":33},{"language":"default","tag":"Assigns","count":28},{"language":"default","tag":"Flow Control","count":19},{"language":"default","tag":"Transformation","count":19},{"language":"default","tag":"Changelog","count":18},{"language":"default","tag":"HRIS","count":14}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/systemintegrations/create-system-integration","slug":"/api-reference/systemintegrations/create-system-integration","pageMetadata":{"title":"Create System Integration","description":"Creates a system integration","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json post /v1/org/system-integrations","href":"/api-reference/systemintegrations/create-system-integration","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Creates a system integration\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create System Integration","description":"Creates a system integration","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json post /v1/org/system-integrations","href":"/api-reference/systemintegrations/create-system-integration","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"callbacks":{},"description":"Creates a system integration","operationId":"createSystemIntegration","parameters":[],"requestBody":"9d94e5c3-b8b3-4499-a1f0-2f1710e55de3","responses":{"201":"f0d33fc8-30b8-4630-bc1b-ab3903e93b85","400":"e1c8c9db-7ecc-4087-9bb8-a931b43ba61d","403":"75049a1e-9761-442a-91f8-01c123c04eed","500":"6dd1d655-a66b-4b2d-b31e-22eb30cdb142"},"summary":"Create System Integration","tags":["SystemIntegrations"],"method":"post","type":"path","servers":["9052e5c0-34df-47d4-8603-693bab08bcc0","c9338b87-25eb-4aa8-b3fe-b99dae164f43"],"security":["48248fe8-3acb-4be1-b40f-8384723ebc05"],"path":"/v1/org/system-integrations","baseUrlOptions":["https://api.twine.se","https://api-stage.twine.se"],"title":"Create System Integration","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"description":"Schema for creating a system integration","properties":{"system_id":{"description":"The UUID of the system to integrate with","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string","isRequired":true,"uniqueKey":"system_id","typeLabel":"string\u003cuuid>"},"auth":{"oneOf":[{"type":"object","title":"HeartpaceAuth","description":"Schema for Heartpace authentication","required":["api_key","slug"],"properties":{"api_key":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.0.api_key.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"auth.oneOf.0.api_key.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.0.api_key","typeLabel":"string | null"},"slug":{"description":"Discriminator for the type of system integration","enum":["heartpace"],"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.0.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"auth.oneOf.0","typeLabel":"HeartpaceAuth · object"},{"type":"object","title":"TeamTailorAboardAuth","description":"Schema for TeamTailorAboard authentication","required":["api_key","slug"],"properties":{"api_key":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.1.api_key.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"auth.oneOf.1.api_key.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.1.api_key","typeLabel":"string | null"},"slug":{"description":"Discriminator for the type of system integration","enum":["aboard"],"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.1.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"auth.oneOf.1","typeLabel":"TeamTailorAboardAuth · object"},{"type":"object","title":"TwentyFourSevenAuth","description":"Schema for TwentyFourSeven authentication","required":["api_key","slug"],"properties":{"api_key":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.2.api_key.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"auth.oneOf.2.api_key.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.2.api_key","typeLabel":"string | null"},"slug":{"description":"Discriminator for the type of system integration","enum":["twenty_four_seven"],"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.2.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"auth.oneOf.2","typeLabel":"TwentyFourSevenAuth · object"},{"type":"object","title":"TeamTailorAuth","description":"Schema for TeamTailor authentication","required":["api_key","api_endpoint_url","slug"],"properties":{"api_endpoint_url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.3.api_endpoint_url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"auth.oneOf.3.api_endpoint_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.3.api_endpoint_url","typeLabel":"string | null"},"api_key":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.3.api_key.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"auth.oneOf.3.api_key.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.3.api_key","typeLabel":"string | null"},"slug":{"description":"Discriminator for the type of system integration","enum":["teamtailor"],"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.3.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"auth.oneOf.3","typeLabel":"TeamTailorAuth · object"},{"type":"object","title":"SpirisAuth","description":"Spiris Lön requires OAuth 2.0 authentication","required":["slug"],"properties":{"slug":{"description":"Discriminator for the type of system integration","enum":["spiris"],"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.4.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"auth.oneOf.4","typeLabel":"SpirisAuth · object"},{"type":"object","title":"SkovikAuth","description":"Schema for Skovik authentication","required":["api_key","slug"],"properties":{"api_key":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.5.api_key.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"auth.oneOf.5.api_key.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.5.api_key","typeLabel":"string | null"},"slug":{"description":"Discriminator for the type of system integration","enum":["skovik"],"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.5.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"auth.oneOf.5","typeLabel":"SkovikAuth · object"},{"type":"object","title":"SFTPAuth","description":"Schema for SFTP authentication","required":["api_client_id","api_client_secret","api_key","slug"],"properties":{"api_client_id":{"oneOf":[{"description":"SFTP username","type":"string","isRequired":true,"uniqueKey":"auth.oneOf.6.api_client_id.oneOf.0","typeLabel":"string"},{"description":"SFTP username","type":"null","isRequired":true,"uniqueKey":"auth.oneOf.6.api_client_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.6.api_client_id","typeLabel":"string | null"},"api_client_secret":{"oneOf":[{"description":"SFTP password. Used when `system_custom.auth_method` is `password`","type":"string","isRequired":true,"uniqueKey":"auth.oneOf.6.api_client_secret.oneOf.0","typeLabel":"string"},{"description":"SFTP password. Used when `system_custom.auth_method` is `password`","type":"null","isRequired":true,"uniqueKey":"auth.oneOf.6.api_client_secret.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.6.api_client_secret","typeLabel":"string | null"},"api_key":{"oneOf":[{"description":"SSH private key in OpenSSH or PEM format, unencrypted. Used when `system_custom.auth_method` is `ssh_key`","type":"string","isRequired":true,"uniqueKey":"auth.oneOf.6.api_key.oneOf.0","typeLabel":"string"},{"description":"SSH private key in OpenSSH or PEM format, unencrypted. Used when `system_custom.auth_method` is `ssh_key`","type":"null","isRequired":true,"uniqueKey":"auth.oneOf.6.api_key.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.6.api_key","typeLabel":"string | null"},"slug":{"description":"Discriminator for the type of system integration","enum":["sftp"],"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.6.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"auth.oneOf.6","typeLabel":"SFTPAuth · object"},{"type":"object","title":"S3Auth","description":"Schema for S3 authentication","required":["api_client_id","api_client_secret","slug"],"properties":{"api_client_id":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.7.api_client_id.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"auth.oneOf.7.api_client_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.7.api_client_id","typeLabel":"string | null"},"api_client_secret":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.7.api_client_secret.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"auth.oneOf.7.api_client_secret.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.7.api_client_secret","typeLabel":"string | null"},"slug":{"description":"Discriminator for the type of system integration","enum":["s3"],"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.7.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"auth.oneOf.7","typeLabel":"S3Auth · object"},{"type":"object","title":"PersonioAuth","description":"Schema for Personio authentication","required":["api_client_id","api_client_secret","slug"],"properties":{"api_client_id":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.8.api_client_id.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"auth.oneOf.8.api_client_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.8.api_client_id","typeLabel":"string | null"},"api_client_secret":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.8.api_client_secret.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"auth.oneOf.8.api_client_secret.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.8.api_client_secret","typeLabel":"string | null"},"slug":{"description":"Discriminator for the type of system integration","enum":["personio"],"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.8.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"auth.oneOf.8","typeLabel":"PersonioAuth · object"},{"type":"object","title":"PeopleCoreAuth","description":"Schema for PeopleCore authentication","required":["api_client_id","api_client_secret","slug"],"properties":{"api_client_id":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.9.api_client_id.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"auth.oneOf.9.api_client_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.9.api_client_id","typeLabel":"string | null"},"api_client_secret":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.9.api_client_secret.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"auth.oneOf.9.api_client_secret.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.9.api_client_secret","typeLabel":"string | null"},"slug":{"description":"Discriminator for the type of system integration","enum":["people_core"],"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.9.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"auth.oneOf.9","typeLabel":"PeopleCoreAuth · object"},{"type":"object","title":"KleerAuth","description":"Schema for Kleer authentication","required":["api_key","external_org_id","slug"],"properties":{"api_key":{"oneOf":[{"description":"The secret API Token for the Kleer API. This is supplied by Kleer customer service.","type":"string","isRequired":true,"uniqueKey":"auth.oneOf.10.api_key.oneOf.0","typeLabel":"string"},{"description":"The secret API Token for the Kleer API. This is supplied by Kleer customer service.","type":"null","isRequired":true,"uniqueKey":"auth.oneOf.10.api_key.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.10.api_key","typeLabel":"string | null"},"external_org_id":{"oneOf":[{"description":"The ID of the organization in Kleer. This is usually supplied together with the API Token.","type":"string","isRequired":true,"uniqueKey":"auth.oneOf.10.external_org_id.oneOf.0","typeLabel":"string"},{"description":"The ID of the organization in Kleer. This is usually supplied together with the API Token.","type":"null","isRequired":true,"uniqueKey":"auth.oneOf.10.external_org_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.10.external_org_id","typeLabel":"string | null"},"slug":{"description":"Discriminator for the type of system integration","enum":["pe_accounting"],"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.10.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"auth.oneOf.10","typeLabel":"KleerAuth · object"},{"type":"object","title":"KontekAuth","description":"Schema for Kontek authentication","required":["api_client_id","api_client_secret","api_endpoint_url","api_key","external_org_id","slug"],"properties":{"api_client_id":{"oneOf":[{"description":"The username/email for the Kontek Lön API. This user should have sufficient permissions to access the Kontek Lön instance","type":"string","isRequired":true,"uniqueKey":"auth.oneOf.11.api_client_id.oneOf.0","typeLabel":"string"},{"description":"The username/email for the Kontek Lön API. This user should have sufficient permissions to access the Kontek Lön instance","type":"null","isRequired":true,"uniqueKey":"auth.oneOf.11.api_client_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.11.api_client_id","typeLabel":"string | null"},"api_client_secret":{"oneOf":[{"description":"Password for the user specified by `api_client_id`","type":"string","isRequired":true,"uniqueKey":"auth.oneOf.11.api_client_secret.oneOf.0","typeLabel":"string"},{"description":"Password for the user specified by `api_client_id`","type":"null","isRequired":true,"uniqueKey":"auth.oneOf.11.api_client_secret.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.11.api_client_secret","typeLabel":"string | null"},"api_endpoint_url":{"oneOf":[{"description":"The URL to the Kontek Lön instance API","type":"string","isRequired":true,"uniqueKey":"auth.oneOf.11.api_endpoint_url.oneOf.0","typeLabel":"string"},{"description":"The URL to the Kontek Lön instance API","type":"null","isRequired":true,"uniqueKey":"auth.oneOf.11.api_endpoint_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.11.api_endpoint_url","typeLabel":"string | null"},"api_key":{"oneOf":[{"description":"Secret access key for the Kontek Lön API. This is supplied by Kontek Lön ","type":"string","isRequired":true,"uniqueKey":"auth.oneOf.11.api_key.oneOf.0","typeLabel":"string"},{"description":"Secret access key for the Kontek Lön API. This is supplied by Kontek Lön ","type":"null","isRequired":true,"uniqueKey":"auth.oneOf.11.api_key.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.11.api_key","typeLabel":"string | null"},"external_org_id":{"oneOf":[{"description":"Company ID in Kontek Lön","type":"string","isRequired":true,"uniqueKey":"auth.oneOf.11.external_org_id.oneOf.0","typeLabel":"string"},{"description":"Company ID in Kontek Lön","type":"null","isRequired":true,"uniqueKey":"auth.oneOf.11.external_org_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.11.external_org_id","typeLabel":"string | null"},"slug":{"description":"Discriminator for the type of system integration","enum":["kontek"],"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.11.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"auth.oneOf.11","typeLabel":"KontekAuth · object"},{"type":"object","title":"HumaHRAuth","description":"Schema for HumaHR authentication","required":["api_key","api_client_secret","slug"],"properties":{"api_client_secret":{"oneOf":[{"description":"Client Key Secret used by Huma when sending webhook requests. This can be anything you want, but must be kept in sync with the value in Huma.","type":"string","isRequired":true,"uniqueKey":"auth.oneOf.12.api_client_secret.oneOf.0","typeLabel":"string"},{"description":"Client Key Secret used by Huma when sending webhook requests. This can be anything you want, but must be kept in sync with the value in Huma.","type":"null","isRequired":true,"uniqueKey":"auth.oneOf.12.api_client_secret.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.12.api_client_secret","typeLabel":"string | null"},"api_key":{"oneOf":[{"description":"Webhook Access Key used by Huma when sending webhook requests. This can be anything you want, but must be kept in sync with the value in Huma.","type":"string","isRequired":true,"uniqueKey":"auth.oneOf.12.api_key.oneOf.0","typeLabel":"string"},{"description":"Webhook Access Key used by Huma when sending webhook requests. This can be anything you want, but must be kept in sync with the value in Huma.","type":"null","isRequired":true,"uniqueKey":"auth.oneOf.12.api_key.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.12.api_key","typeLabel":"string | null"},"slug":{"description":"Discriminator for the type of system integration","enum":["huma_hr"],"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.12.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"auth.oneOf.12","typeLabel":"HumaHRAuth · object"},{"type":"object","title":"HogiaOpenHrAuth","description":"Schema for HogiaOpenHr authentication","required":["api_client_id","api_client_secret","api_endpoint_url","slug"],"properties":{"api_client_id":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.13.api_client_id.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"auth.oneOf.13.api_client_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.13.api_client_id","typeLabel":"string | null"},"api_client_secret":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.13.api_client_secret.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"auth.oneOf.13.api_client_secret.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.13.api_client_secret","typeLabel":"string | null"},"api_endpoint_url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.13.api_endpoint_url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"auth.oneOf.13.api_endpoint_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.13.api_endpoint_url","typeLabel":"string | null"},"slug":{"description":"Discriminator for the type of system integration","enum":["hogia_open_hr"],"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.13.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"auth.oneOf.13","typeLabel":"HogiaOpenHrAuth · object"},{"type":"object","title":"HibobAuth","description":"Schema for Hibob authentication","required":["api_client_id","api_client_secret","slug"],"properties":{"api_client_id":{"oneOf":[{"description":"The service ID for the Hibob API. e.g. \"SERVICE-202\"","type":"string","isRequired":true,"uniqueKey":"auth.oneOf.14.api_client_id.oneOf.0","typeLabel":"string"},{"description":"The service ID for the Hibob API. e.g. \"SERVICE-202\"","type":"null","isRequired":true,"uniqueKey":"auth.oneOf.14.api_client_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.14.api_client_id","typeLabel":"string | null"},"api_client_secret":{"oneOf":[{"description":"The secret key for the Hibob API.","type":"string","isRequired":true,"uniqueKey":"auth.oneOf.14.api_client_secret.oneOf.0","typeLabel":"string"},{"description":"The secret key for the Hibob API.","type":"null","isRequired":true,"uniqueKey":"auth.oneOf.14.api_client_secret.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.14.api_client_secret","typeLabel":"string | null"},"slug":{"description":"Discriminator for the type of system integration","enum":["hibob"],"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.14.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"auth.oneOf.14","typeLabel":"HibobAuth · object"},{"type":"object","title":"HaileyHRAuth","description":"Schema for HaileyHR authentication","required":["api_key","slug"],"properties":{"api_key":{"oneOf":[{"description":"API key for Hailey HR","type":"string","isRequired":true,"uniqueKey":"auth.oneOf.15.api_key.oneOf.0","typeLabel":"string"},{"description":"API key for Hailey HR","type":"null","isRequired":true,"uniqueKey":"auth.oneOf.15.api_key.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.15.api_key","typeLabel":"string | null"},"slug":{"description":"Discriminator for the type of system integration","enum":["hailey_hr"],"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.15.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"auth.oneOf.15","typeLabel":"HaileyHRAuth · object"},{"type":"object","title":"FortnoxAuth","description":"Fortnox requires OAuth 2.0 authentication","required":["slug"],"properties":{"slug":{"description":"Discriminator for the type of system integration","enum":["fortnox"],"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.16.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"auth.oneOf.16","typeLabel":"FortnoxAuth · object"},{"type":"object","title":"FlexHRMAuth","description":"Schema for FlexHRM authentication","required":["api_client_id","api_client_secret","api_endpoint_url","slug"],"properties":{"api_client_id":{"oneOf":[{"description":"The username/email for the Flex HRM API. This user should have sufficient permissions to access the Flex HRM instance","type":"string","isRequired":true,"uniqueKey":"auth.oneOf.17.api_client_id.oneOf.0","typeLabel":"string"},{"description":"The username/email for the Flex HRM API. This user should have sufficient permissions to access the Flex HRM instance","type":"null","isRequired":true,"uniqueKey":"auth.oneOf.17.api_client_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.17.api_client_id","typeLabel":"string | null"},"api_client_secret":{"oneOf":[{"description":"Password for the user specified in `api_client_id`","type":"string","isRequired":true,"uniqueKey":"auth.oneOf.17.api_client_secret.oneOf.0","typeLabel":"string"},{"description":"Password for the user specified in `api_client_id`","type":"null","isRequired":true,"uniqueKey":"auth.oneOf.17.api_client_secret.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.17.api_client_secret","typeLabel":"string | null"},"api_endpoint_url":{"oneOf":[{"description":"The URL to the Flex HRM instance API","type":"string","isRequired":true,"uniqueKey":"auth.oneOf.17.api_endpoint_url.oneOf.0","typeLabel":"string"},{"description":"The URL to the Flex HRM instance API","type":"null","isRequired":true,"uniqueKey":"auth.oneOf.17.api_endpoint_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.17.api_endpoint_url","typeLabel":"string | null"},"slug":{"description":"Discriminator for the type of system integration","enum":["flex_hrm"],"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.17.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"auth.oneOf.17","typeLabel":"FlexHRMAuth · object"},{"type":"object","title":"CaspecoAuth","description":"Schema for Caspeco authentication","required":["api_key","external_org_id","slug"],"properties":{"api_key":{"oneOf":[{"description":"A personal access token created at id.caspeco.se/pat; sent as a bearer token","type":"string","isRequired":true,"uniqueKey":"auth.oneOf.18.api_key.oneOf.0","typeLabel":"string"},{"description":"A personal access token created at id.caspeco.se/pat; sent as a bearer token","type":"null","isRequired":true,"uniqueKey":"auth.oneOf.18.api_key.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.18.api_key","typeLabel":"string | null"},"external_org_id":{"oneOf":[{"description":"The Caspeco database name (e.g. `se__twinesandbox`), sent as the `system` header. One per company.","type":"string","isRequired":true,"uniqueKey":"auth.oneOf.18.external_org_id.oneOf.0","typeLabel":"string"},{"description":"The Caspeco database name (e.g. `se__twinesandbox`), sent as the `system` header. One per company.","type":"null","isRequired":true,"uniqueKey":"auth.oneOf.18.external_org_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.18.external_org_id","typeLabel":"string | null"},"slug":{"description":"Discriminator for the type of system integration","enum":["caspeco"],"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.18.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"auth.oneOf.18","typeLabel":"CaspecoAuth · object"},{"type":"object","title":"EntraIdAuth","description":"Do not set this if `customer_defined_application` in Entra's configuration is false","required":["api_client_secret","slug"],"properties":{"api_client_secret":{"oneOf":[{"description":"API Key to a customer managed Application. Should not be set for Application managed by Twine","type":"string","isRequired":true,"uniqueKey":"auth.oneOf.19.api_client_secret.oneOf.0","typeLabel":"string"},{"description":"API Key to a customer managed Application. Should not be set for Application managed by Twine","type":"null","isRequired":true,"uniqueKey":"auth.oneOf.19.api_client_secret.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.19.api_client_secret","typeLabel":"string | null"},"slug":{"description":"Discriminator for the type of system integration","enum":["entra_id"],"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.19.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"auth.oneOf.19","typeLabel":"EntraIdAuth · object"},{"type":"object","title":"EvityHrAuth","description":"Schema for EvityHr authentication","required":["api_key","api_endpoint_url","slug"],"properties":{"api_endpoint_url":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.20.api_endpoint_url.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"auth.oneOf.20.api_endpoint_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.20.api_endpoint_url","typeLabel":"string | null"},"api_key":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.20.api_key.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"auth.oneOf.20.api_key.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.20.api_key","typeLabel":"string | null"},"slug":{"description":"Discriminator for the type of system integration","enum":["evity"],"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.20.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"auth.oneOf.20","typeLabel":"EvityHrAuth · object"},{"type":"object","title":"SimployerOneAuth","description":"Schema for SimployerOne authentication","required":["api_key","slug"],"properties":{"api_key":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.21.api_key.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"auth.oneOf.21.api_key.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.21.api_key","typeLabel":"string | null"},"slug":{"description":"Discriminator for the type of system integration","enum":["alexis_hr"],"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.21.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"auth.oneOf.21","typeLabel":"SimployerOneAuth · object"},{"type":"object","title":"AgdaPsAuth","description":"Schema for AgdaPs authentication","required":["api_client_id","api_client_secret","api_key","slug"],"properties":{"api_client_id":{"oneOf":[{"description":"A service account username/email. This is usually supplied by Agda or an accounting firm","type":"string","isRequired":true,"uniqueKey":"auth.oneOf.22.api_client_id.oneOf.0","typeLabel":"string"},{"description":"A service account username/email. This is usually supplied by Agda or an accounting firm","type":"null","isRequired":true,"uniqueKey":"auth.oneOf.22.api_client_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.22.api_client_id","typeLabel":"string | null"},"api_client_secret":{"oneOf":[{"description":"A service account password. This is usually supplied by Agda or an accounting firm","type":"string","isRequired":true,"uniqueKey":"auth.oneOf.22.api_client_secret.oneOf.0","typeLabel":"string"},{"description":"A service account password. This is usually supplied by Agda or an accounting firm","type":"null","isRequired":true,"uniqueKey":"auth.oneOf.22.api_client_secret.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.22.api_client_secret","typeLabel":"string | null"},"api_key":{"oneOf":[{"description":"API key with access to the Agda PS installation. This is usually supplied by Agda or an accounting firm","type":"string","isRequired":true,"uniqueKey":"auth.oneOf.22.api_key.oneOf.0","typeLabel":"string"},{"description":"API key with access to the Agda PS installation. This is usually supplied by Agda or an accounting firm","type":"null","isRequired":true,"uniqueKey":"auth.oneOf.22.api_key.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"auth.oneOf.22.api_key","typeLabel":"string | null"},"slug":{"description":"Discriminator for the type of system integration","enum":["agda_ps"],"type":"string","isRequired":true,"uniqueKey":"auth.oneOf.22.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"auth.oneOf.22","typeLabel":"AgdaPsAuth · object"}],"uniqueKey":"auth","typeLabel":"HeartpaceAuth · object | TeamTailorAboardAuth · object | TwentyFourSevenAuth · object | TeamTailorAuth · object | SpirisAuth · object | SkovikAuth · object | SFTPAuth · object | S3Auth · object | PersonioAuth · object | PeopleCoreAuth · object | KleerAuth · object | KontekAuth · object | HumaHRAuth · object | HogiaOpenHrAuth · object | HibobAuth · object | HaileyHRAuth · object | FortnoxAuth · object | FlexHRMAuth · object | CaspecoAuth · object | EntraIdAuth · object | EvityHrAuth · object | SimployerOneAuth · object | AgdaPsAuth · object"},"create_default_mappings":{"oneOf":[{"description":"Whether to create default domain mappings for the integration. Has no effect if `template_id` is specified and valid.","example":true,"type":"boolean","uniqueKey":"create_default_mappings.oneOf.0","typeLabel":"boolean"},{"description":"Whether to create default domain mappings for the integration. Has no effect if `template_id` is specified and valid.","example":true,"type":"null","uniqueKey":"create_default_mappings.oneOf.1","typeLabel":"null"}],"uniqueKey":"create_default_mappings","typeLabel":"boolean | null"},"description":{"oneOf":[{"description":"Optional description of the system integration","type":"string","uniqueKey":"description.oneOf.0","typeLabel":"string"},{"description":"Optional description of the system integration","type":"null","uniqueKey":"description.oneOf.1","typeLabel":"null"}],"uniqueKey":"description","typeLabel":"string | null"},"system_custom":{"oneOf":[{"type":"object","title":"AgdaFileSystemCustom","description":"Custom configuration for Agda File system integrations.","required":["slug"],"properties":{"slug":{"enum":["agda_file"],"nullable":false,"type":"string","isRequired":true,"uniqueKey":"system_custom.oneOf.0.slug","typeLabel":"enum\u003cstring>"},"change_lookback_enabled":{"description":"When false (the default) every employee is sent in full. When true the file is limited to employees with a recorded change inside the lookback window.","nullable":false,"type":"boolean","uniqueKey":"system_custom.oneOf.0.change_lookback_enabled","typeLabel":"boolean"},"change_lookback_unit":{"oneOf":[{"description":"Unit of the lookback window.","enum":["day","week","month","year"],"type":"string","uniqueKey":"system_custom.oneOf.0.change_lookback_unit.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"Unit of the lookback window.","enum":["day","week","month","year"],"type":"null","uniqueKey":"system_custom.oneOf.0.change_lookback_unit.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.0.change_lookback_unit","typeLabel":"enum\u003cstring> | null"},"change_lookback_value":{"oneOf":[{"description":"Size of the lookback window. Must be at least 1 while the window is enabled.","minimum":1,"type":"integer","uniqueKey":"system_custom.oneOf.0.change_lookback_value.oneOf.0","typeLabel":"integer"},{"description":"Size of the lookback window. Must be at least 1 while the window is enabled.","minimum":1,"type":"null","uniqueKey":"system_custom.oneOf.0.change_lookback_value.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.0.change_lookback_value","typeLabel":"integer | null"},"company_no":{"oneOf":[{"description":"Agda's FTG_NR. Must match an existing company in the Agda database this integration writes to.","type":"string","uniqueKey":"system_custom.oneOf.0.company_no.oneOf.0","typeLabel":"string"},{"description":"Agda's FTG_NR. Must match an existing company in the Agda database this integration writes to.","type":"null","uniqueKey":"system_custom.oneOf.0.company_no.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.0.company_no","typeLabel":"string | null"},"file_name_prefix":{"oneOf":[{"description":"Optional prefix prepended to the exported file name, which is otherwise twine_agda_export_\u003ctimestamp>.xml.","pattern":"^[A-Za-z0-9._-]+$","type":"string","uniqueKey":"system_custom.oneOf.0.file_name_prefix.oneOf.0","typeLabel":"string"},{"description":"Optional prefix prepended to the exported file name, which is otherwise twine_agda_export_\u003ctimestamp>.xml.","pattern":"^[A-Za-z0-9._-]+$","type":"null","uniqueKey":"system_custom.oneOf.0.file_name_prefix.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.0.file_name_prefix","typeLabel":"string | null"},"salary_paycodes":{"oneOf":[{"description":"LONEART values that form one mutually exclusive salary timeline, so a move from an hourly rate to a monthly salary closes the old one. Empty means each LONEART is only closed out against itself.","items":{"type":"string","uniqueKey":"system_custom.oneOf.0.salary_paycodes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"system_custom.oneOf.0.salary_paycodes.oneOf.0","typeLabel":"string[]"},{"description":"LONEART values that form one mutually exclusive salary timeline, so a move from an hourly rate to a monthly salary closes the old one. Empty means each LONEART is only closed out against itself.","items":{"type":"string"},"type":"null","uniqueKey":"system_custom.oneOf.0.salary_paycodes.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.0.salary_paycodes","typeLabel":"string[] | null"}},"uniqueKey":"system_custom.oneOf.0","typeLabel":"AgdaFileSystemCustom · object"},{"type":"object","title":"AgdaPsSystemCustom","description":"Custom configuration for Agda PS system integrations.","properties":{"auth_scheme":{"oneOf":[{"description":"The authentication scheme to use for this Agda PS integration.","enum":["basic","bearer"],"type":"string","uniqueKey":"system_custom.oneOf.1.auth_scheme.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"The authentication scheme to use for this Agda PS integration.","enum":["basic","bearer"],"type":"null","uniqueKey":"system_custom.oneOf.1.auth_scheme.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.1.auth_scheme","typeLabel":"enum\u003cstring> | null"},"slug":{"enum":["agda_ps"],"nullable":false,"type":"string","uniqueKey":"system_custom.oneOf.1.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"system_custom.oneOf.1","typeLabel":"AgdaPsSystemCustom · object"},{"type":"object","title":"BambooHrSystemCustom","description":"Custom configuration for BambooHR system integrations.","properties":{"slug":{"enum":["bamboo_hr"],"nullable":false,"type":"string","uniqueKey":"system_custom.oneOf.2.slug","typeLabel":"enum\u003cstring>"},"subdomain":{"oneOf":[{"description":"The subdomain for the BambooHR account.","type":"string","uniqueKey":"system_custom.oneOf.2.subdomain.oneOf.0","typeLabel":"string"},{"description":"The subdomain for the BambooHR account.","type":"null","uniqueKey":"system_custom.oneOf.2.subdomain.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.2.subdomain","typeLabel":"string | null"}},"uniqueKey":"system_custom.oneOf.2","typeLabel":"BambooHrSystemCustom · object"},{"type":"object","title":"CaspecoSystemCustom","description":"Custom configuration for Caspeco system integrations. The access token goes in `api_key` and the Caspeco database name (the `system` header, one per company) in `external_org_id`.","properties":{"slug":{"enum":["caspeco"],"nullable":false,"type":"string","uniqueKey":"system_custom.oneOf.3.slug","typeLabel":"enum\u003cstring>"},"use_sandbox":{"oneOf":[{"default":false,"description":"Send requests to the sandbox host (rms.dev.caspeco.net) instead of production.","type":"boolean","uniqueKey":"system_custom.oneOf.3.use_sandbox.oneOf.0","typeLabel":"boolean"},{"default":false,"description":"Send requests to the sandbox host (rms.dev.caspeco.net) instead of production.","type":"null","uniqueKey":"system_custom.oneOf.3.use_sandbox.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.3.use_sandbox","typeLabel":"boolean | null"}},"uniqueKey":"system_custom.oneOf.3","typeLabel":"CaspecoSystemCustom · object"},{"type":"object","title":"SpreadsheetSystemCustom","description":"Custom configuration for Spreadsheet system integrations.","properties":{"column_order_type":{"description":"The naming scheme used in the XLSX","enum":["a1","r1c1"],"type":"string","uniqueKey":"system_custom.oneOf.4.column_order_type","typeLabel":"enum\u003cstring>"},"main_sheet_id":{"oneOf":[{"description":"The `id` of the sheet holding one row per employee; other sheets attach to it through their link column. Left null, the first sheet that is neither ignored nor multirow is used.","type":"string","uniqueKey":"system_custom.oneOf.4.main_sheet_id.oneOf.0","typeLabel":"string"},{"description":"The `id` of the sheet holding one row per employee; other sheets attach to it through their link column. Left null, the first sheet that is neither ignored nor multirow is used.","type":"null","uniqueKey":"system_custom.oneOf.4.main_sheet_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.4.main_sheet_id","typeLabel":"string | null"},"quote_char":{"default":"\"","description":"The character used to quote values in the CSV","type":"string","uniqueKey":"system_custom.oneOf.4.quote_char","typeLabel":"string"},"separator":{"default":",","description":"The character used to separate values in the CSV","type":"string","uniqueKey":"system_custom.oneOf.4.separator","typeLabel":"string"},"sheets":{"description":"The sheets to process in the spreadsheet file (CSV/XLSX/ODS). For a CSV file there should only be 1 sheet.","items":{"description":"Custom configuration for Spreadsheet system integrations - Sheet.","properties":{"column_names":{"oneOf":[{"description":"The names of the columns to include in the integration. This is not required for the functionality, but can be used to provide better context in the UI.","items":{"type":"string","uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].column_names.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].column_names.oneOf.0","typeLabel":"string[]"},{"description":"The names of the columns to include in the integration. This is not required for the functionality, but can be used to provide better context in the UI.","items":{"type":"string"},"type":"null","uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].column_names.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].column_names","typeLabel":"string[] | null"},"end_date_column_index":{"oneOf":[{"description":"Index of the column whose value becomes the end-date (exclusive) for every DatedProperty extracted from this row.","type":"integer","uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].end_date_column_index.oneOf.0","typeLabel":"integer"},{"description":"Index of the column whose value becomes the end-date (exclusive) for every DatedProperty extracted from this row.","type":"null","uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].end_date_column_index.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].end_date_column_index","typeLabel":"integer | null"},"exclude_row_indexes":{"oneOf":[{"default":[0],"description":"The indexes of the rows to exclude from processing","items":{"type":"integer","uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].exclude_row_indexes.oneOf.0.items.[INDEX]","typeLabel":"integer"},"type":"array","uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].exclude_row_indexes.oneOf.0","typeLabel":"integer[]"},{"default":[0],"description":"The indexes of the rows to exclude from processing","items":{"type":"integer"},"type":"null","uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].exclude_row_indexes.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].exclude_row_indexes","typeLabel":"integer[] | null"},"id":{"oneOf":[{"description":"Stable identifier for the sheet, referenced by `main_sheet_id`. Send back the id you read for each sheet: a `sheets` write that omits ids replaces the sheets, which clears their ids and any `main_sheet_id` pointing at one.","type":"string","uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].id.oneOf.0","typeLabel":"string"},{"description":"Stable identifier for the sheet, referenced by `main_sheet_id`. Send back the id you read for each sheet: a `sheets` write that omits ids replaces the sheets, which clears their ids and any `main_sheet_id` pointing at one.","type":"null","uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].id.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].id","typeLabel":"string | null"},"id_column_index":{"oneOf":[{"description":"Index of the column whose value becomes the `id` on every DatedProperty extracted from this row. Use to differentiate parallel value histories (e.g. salary type) within a multirow sheet.","type":"integer","uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].id_column_index.oneOf.0","typeLabel":"integer"},{"description":"Index of the column whose value becomes the `id` on every DatedProperty extracted from this row. Use to differentiate parallel value histories (e.g. salary type) within a multirow sheet.","type":"null","uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].id_column_index.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].id_column_index","typeLabel":"integer | null"},"ignore":{"oneOf":[{"description":"Whether to ignore this sheet","type":"boolean","uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].ignore.oneOf.0","typeLabel":"boolean"},{"description":"Whether to ignore this sheet","type":"null","uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].ignore.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].ignore","typeLabel":"boolean | null"},"link_column_index":{"oneOf":[{"description":"The index of the column that links multiple rows to the same entity. Required if multirows is true.","type":"integer","uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].link_column_index.oneOf.0","typeLabel":"integer"},{"description":"The index of the column that links multiple rows to the same entity. Required if multirows is true.","type":"null","uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].link_column_index.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].link_column_index","typeLabel":"integer | null"},"multirows":{"oneOf":[{"description":"If true, indicated that entities can span multiple rows. Should be specified together with link_column_index.","type":"boolean","uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].multirows.oneOf.0","typeLabel":"boolean"},{"description":"If true, indicated that entities can span multiple rows. Should be specified together with link_column_index.","type":"null","uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].multirows.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].multirows","typeLabel":"boolean | null"},"name":{"oneOf":[{"description":"The name of the sheet","type":"string","uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].name.oneOf.0","typeLabel":"string"},{"description":"The name of the sheet","type":"null","uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].name.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].name","typeLabel":"string | null"},"nr_of_columns":{"oneOf":[{"description":"The number of columns to read from the sheet","type":"integer","uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].nr_of_columns.oneOf.0","typeLabel":"integer"},{"description":"The number of columns to read from the sheet","type":"null","uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].nr_of_columns.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].nr_of_columns","typeLabel":"integer | null"},"start_date_column_index":{"oneOf":[{"description":"Index of the column whose value becomes `valid_from` on every DatedProperty extracted from this row.","type":"integer","uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].start_date_column_index.oneOf.0","typeLabel":"integer"},{"description":"Index of the column whose value becomes `valid_from` on every DatedProperty extracted from this row.","type":"null","uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].start_date_column_index.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX].start_date_column_index","typeLabel":"integer | null"}},"title":"SpreadsheetCustomSheet","type":"object","uniqueKey":"system_custom.oneOf.4.sheets.items.[INDEX]","typeLabel":"SpreadsheetCustomSheet · object"},"type":"array","uniqueKey":"system_custom.oneOf.4.sheets","typeLabel":"SpreadsheetCustomSheet · object[]"},"slug":{"enum":["spreadsheet"],"nullable":false,"type":"string","uniqueKey":"system_custom.oneOf.4.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"system_custom.oneOf.4","typeLabel":"SpreadsheetSystemCustom · object"},{"type":"object","title":"EntraIdSystemCustom","description":"Custom configuration for EntraID system integrations.","properties":{"application_id":{"oneOf":[{"description":"The application ID for the EntraID integration. This is either the ID of a customer-defined application or the ID of a customer-specific application hosted by Twine","type":"string","uniqueKey":"system_custom.oneOf.5.application_id.oneOf.0","typeLabel":"string"},{"description":"The application ID for the EntraID integration. This is either the ID of a customer-defined application or the ID of a customer-specific application hosted by Twine","type":"null","uniqueKey":"system_custom.oneOf.5.application_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.5.application_id","typeLabel":"string | null"},"application_permissions":{"oneOf":[{"description":"The permissions required in the Entra Application.","items":{"type":"string","uniqueKey":"system_custom.oneOf.5.application_permissions.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"system_custom.oneOf.5.application_permissions.oneOf.0","typeLabel":"string[]"},{"description":"The permissions required in the Entra Application.","items":{"type":"string"},"type":"null","uniqueKey":"system_custom.oneOf.5.application_permissions.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.5.application_permissions","typeLabel":"string[] | null"},"customer_defined_application":{"oneOf":[{"description":"Whether to enable API v2 for the EvityHR account.","type":"boolean","uniqueKey":"system_custom.oneOf.5.customer_defined_application.oneOf.0","typeLabel":"boolean"},{"description":"Whether to enable API v2 for the EvityHR account.","type":"null","uniqueKey":"system_custom.oneOf.5.customer_defined_application.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.5.customer_defined_application","typeLabel":"boolean | null"},"manual_directory_extension_attributes":{"oneOf":[{"description":"Manually specified directory extension attributes for the EntraID integration. This is sometimes needed when the Graph API does not return these attributes automatically, even though they exist in the customer's directory.","items":{"type":"string","uniqueKey":"system_custom.oneOf.5.manual_directory_extension_attributes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"system_custom.oneOf.5.manual_directory_extension_attributes.oneOf.0","typeLabel":"string[]"},{"description":"Manually specified directory extension attributes for the EntraID integration. This is sometimes needed when the Graph API does not return these attributes automatically, even though they exist in the customer's directory.","items":{"type":"string"},"type":"null","uniqueKey":"system_custom.oneOf.5.manual_directory_extension_attributes.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.5.manual_directory_extension_attributes","typeLabel":"string[] | null"},"secret_rotation_days":{"oneOf":[{"description":"The number of days before which the secret should be rotated. Note: The secret will likely be rotated before this time. Has no effect if `customer_defined_application` is false.","type":"integer","uniqueKey":"system_custom.oneOf.5.secret_rotation_days.oneOf.0","typeLabel":"integer"},{"description":"The number of days before which the secret should be rotated. Note: The secret will likely be rotated before this time. Has no effect if `customer_defined_application` is false.","type":"null","uniqueKey":"system_custom.oneOf.5.secret_rotation_days.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.5.secret_rotation_days","typeLabel":"integer | null"},"slug":{"enum":["entra_id"],"nullable":false,"type":"string","uniqueKey":"system_custom.oneOf.5.slug","typeLabel":"enum\u003cstring>"},"tenant_id":{"oneOf":[{"description":"The tenant ID for the EntraID integration. Note: This is the customer's tenant ID.","type":"string","uniqueKey":"system_custom.oneOf.5.tenant_id.oneOf.0","typeLabel":"string"},{"description":"The tenant ID for the EntraID integration. Note: This is the customer's tenant ID.","type":"null","uniqueKey":"system_custom.oneOf.5.tenant_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.5.tenant_id","typeLabel":"string | null"}},"uniqueKey":"system_custom.oneOf.5","typeLabel":"EntraIdSystemCustom · object"},{"type":"object","title":"EvityHrSystemCustom","description":"Custom configuration for EvityHR system integrations.","properties":{"enable_api_v2":{"oneOf":[{"description":"Whether to enable API v2 for the EvityHR account.","type":"boolean","uniqueKey":"system_custom.oneOf.6.enable_api_v2.oneOf.0","typeLabel":"boolean"},{"description":"Whether to enable API v2 for the EvityHR account.","type":"null","uniqueKey":"system_custom.oneOf.6.enable_api_v2.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.6.enable_api_v2","typeLabel":"boolean | null"},"slug":{"enum":["evity"],"nullable":false,"type":"string","uniqueKey":"system_custom.oneOf.6.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"system_custom.oneOf.6","typeLabel":"EvityHrSystemCustom · object"},{"type":"object","title":"FlexHrmSystemCustom","description":"Custom configuration for FlexHrm system integrations.","properties":{"company_nr":{"oneOf":[{"description":"The company number for customer tenant. Reads like a regular number like 12345.","type":"string","uniqueKey":"system_custom.oneOf.7.company_nr.oneOf.0","typeLabel":"string"},{"description":"The company number for customer tenant. Reads like a regular number like 12345.","type":"null","uniqueKey":"system_custom.oneOf.7.company_nr.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.7.company_nr","typeLabel":"string | null"},"instance_id":{"oneOf":[{"description":"The instance UUID for customer tenant. Twine will automatically retrieve this value.","type":"string","uniqueKey":"system_custom.oneOf.7.instance_id.oneOf.0","typeLabel":"string"},{"description":"The instance UUID for customer tenant. Twine will automatically retrieve this value.","type":"null","uniqueKey":"system_custom.oneOf.7.instance_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.7.instance_id","typeLabel":"string | null"},"instance_nr":{"oneOf":[{"description":"The instance number for customer tenant. Reads like a regular number like 12345.","type":"string","uniqueKey":"system_custom.oneOf.7.instance_nr.oneOf.0","typeLabel":"string"},{"description":"The instance number for customer tenant. Reads like a regular number like 12345.","type":"null","uniqueKey":"system_custom.oneOf.7.instance_nr.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.7.instance_nr","typeLabel":"string | null"},"probation_employment_type_id":{"oneOf":[{"description":"The probation employment type UUID for the customer tenant. If this is set, Twine will automatically generate additional employment periods with this as the employment type. Should only be used if the source system cannot provide discreet probationary employment periods.","type":"string","uniqueKey":"system_custom.oneOf.7.probation_employment_type_id.oneOf.0","typeLabel":"string"},{"description":"The probation employment type UUID for the customer tenant. If this is set, Twine will automatically generate additional employment periods with this as the employment type. Should only be used if the source system cannot provide discreet probationary employment periods.","type":"null","uniqueKey":"system_custom.oneOf.7.probation_employment_type_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.7.probation_employment_type_id","typeLabel":"string | null"},"slug":{"enum":["flex_hrm"],"nullable":false,"type":"string","uniqueKey":"system_custom.oneOf.7.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"system_custom.oneOf.7","typeLabel":"FlexHrmSystemCustom · object"},{"type":"object","title":"FortnoxSystemCustom","description":"Custom configuration for Fortnox system integrations.","properties":{"insert_zero_salaries":{"oneOf":[{"description":"Whether to insert zero salaries for non-working periods for employees in Fortnox.","type":"boolean","uniqueKey":"system_custom.oneOf.8.insert_zero_salaries.oneOf.0","typeLabel":"boolean"},{"description":"Whether to insert zero salaries for non-working periods for employees in Fortnox.","type":"null","uniqueKey":"system_custom.oneOf.8.insert_zero_salaries.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.8.insert_zero_salaries","typeLabel":"boolean | null"},"scopes":{"oneOf":[{"description":"OAuth scopes requested from Fortnox during authentication. `companyinformation` is always included regardless of this value.","items":{"type":"string","uniqueKey":"system_custom.oneOf.8.scopes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"system_custom.oneOf.8.scopes.oneOf.0","typeLabel":"string[]"},{"description":"OAuth scopes requested from Fortnox during authentication. `companyinformation` is always included regardless of this value.","items":{"type":"string"},"type":"null","uniqueKey":"system_custom.oneOf.8.scopes.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.8.scopes","typeLabel":"string[] | null"},"slug":{"enum":["fortnox"],"nullable":false,"type":"string","uniqueKey":"system_custom.oneOf.8.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"system_custom.oneOf.8","typeLabel":"FortnoxSystemCustom · object"},{"type":"object","title":"GenericSystemCustom","description":"Systems without system-specific settings in the API. Only `slug` is exposed.","required":["slug"],"properties":{"slug":{"enum":["aboard","catalyst_one","heartpace","kleer","medvind_wfm","nmbrs","payzlip","quinyx","scim","sftp_server","simployer_classic","spiris","tidsbanken","timeplan"],"nullable":false,"type":"string","isRequired":true,"uniqueKey":"system_custom.oneOf.9.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"system_custom.oneOf.9","typeLabel":"GenericSystemCustom · object"},{"type":"object","title":"HaileyHrSystemCustom","description":"Custom configuration for Hailey HR system integrations.","properties":{"slug":{"enum":["hailey_hr"],"nullable":false,"type":"string","uniqueKey":"system_custom.oneOf.10.slug","typeLabel":"enum\u003cstring>"},"use_sandbox_api":{"oneOf":[{"default":true,"description":"Whether to use the Hailey HR sandbox API.","type":"boolean","uniqueKey":"system_custom.oneOf.10.use_sandbox_api.oneOf.0","typeLabel":"boolean"},{"default":true,"description":"Whether to use the Hailey HR sandbox API.","type":"null","uniqueKey":"system_custom.oneOf.10.use_sandbox_api.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.10.use_sandbox_api","typeLabel":"boolean | null"}},"uniqueKey":"system_custom.oneOf.10","typeLabel":"HaileyHrSystemCustom · object"},{"type":"object","title":"HibobSystemCustom","description":"Custom configuration for Hibob system integrations.","properties":{"enabled_reports":{"oneOf":[{"description":"A list of report ids that should be enabled for Hibob.","items":{"type":"string","uniqueKey":"system_custom.oneOf.11.enabled_reports.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"system_custom.oneOf.11.enabled_reports.oneOf.0","typeLabel":"string[]"},{"description":"A list of report ids that should be enabled for Hibob.","items":{"type":"string"},"type":"null","uniqueKey":"system_custom.oneOf.11.enabled_reports.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.11.enabled_reports","typeLabel":"string[] | null"},"include_private_time_off_requests":{"oneOf":[{"default":false,"description":"Whether to include private time off requests.","type":"boolean","uniqueKey":"system_custom.oneOf.11.include_private_time_off_requests.oneOf.0","typeLabel":"boolean"},{"default":false,"description":"Whether to include private time off requests.","type":"null","uniqueKey":"system_custom.oneOf.11.include_private_time_off_requests.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.11.include_private_time_off_requests","typeLabel":"boolean | null"},"partner_token_suffix":{"oneOf":[{"description":"The partner token suffix for Hibob. Should be your company name, preferably unchanged once used once.","type":"string","uniqueKey":"system_custom.oneOf.11.partner_token_suffix.oneOf.0","typeLabel":"string"},{"description":"The partner token suffix for Hibob. Should be your company name, preferably unchanged once used once.","type":"null","uniqueKey":"system_custom.oneOf.11.partner_token_suffix.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.11.partner_token_suffix","typeLabel":"string | null"},"slug":{"enum":["hibob"],"nullable":false,"type":"string","uniqueKey":"system_custom.oneOf.11.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"system_custom.oneOf.11","typeLabel":"HibobSystemCustom · object"},{"type":"object","title":"HogiaOpenHrSystemCustomSchema","description":"Custom configuration for Hogia Open HR File system integrations.","required":["slug"],"properties":{"slug":{"enum":["hogia_open_hr"],"nullable":false,"type":"string","isRequired":true,"uniqueKey":"system_custom.oneOf.12.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"system_custom.oneOf.12","typeLabel":"HogiaOpenHrSystemCustomSchema · object"},{"type":"object","title":"HogiaPlusHrSystemCustomSchema","description":"Custom configuration for Hogia Plus HR File system integrations.","required":["slug"],"properties":{"slug":{"enum":["hogia_file"],"nullable":false,"type":"string","isRequired":true,"uniqueKey":"system_custom.oneOf.13.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"system_custom.oneOf.13","typeLabel":"HogiaPlusHrSystemCustomSchema · object"},{"type":"object","title":"HumaHrSystemCustom","description":"Custom configuration for Huma HR File system integrations.","required":["slug"],"properties":{"slug":{"enum":["huma_hr"],"nullable":false,"type":"string","isRequired":true,"uniqueKey":"system_custom.oneOf.14.slug","typeLabel":"enum\u003cstring>"},"demo_api":{"oneOf":[{"description":"When true, API calls target Huma's demo environment (demo.openapi.humahr.com) instead of production. Off by default.","type":"boolean","uniqueKey":"system_custom.oneOf.14.demo_api.oneOf.0","typeLabel":"boolean"},{"description":"When true, API calls target Huma's demo environment (demo.openapi.humahr.com) instead of production. Off by default.","type":"null","uniqueKey":"system_custom.oneOf.14.demo_api.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.14.demo_api","typeLabel":"boolean | null"},"last_legacy_webhook_at":{"oneOf":[{"description":"Read-only: when the most recent webhook arrived on the legacy front endpoint. Null once a webhook arrives on the canonical perimeter endpoint.","format":"date-time","type":"string","uniqueKey":"system_custom.oneOf.14.last_legacy_webhook_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"Read-only: when the most recent webhook arrived on the legacy front endpoint. Null once a webhook arrives on the canonical perimeter endpoint.","format":"date-time","type":"null","uniqueKey":"system_custom.oneOf.14.last_legacy_webhook_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.14.last_legacy_webhook_at","typeLabel":"string\u003cdate-time> | null"},"legacy_webhook_endpoint":{"oneOf":[{"description":"Read-only signal: true when webhooks are still arriving on the legacy front endpoint rather than the canonical perimeter endpoint. Cleared automatically once a webhook arrives on the canonical endpoint.","type":"boolean","uniqueKey":"system_custom.oneOf.14.legacy_webhook_endpoint.oneOf.0","typeLabel":"boolean"},{"description":"Read-only signal: true when webhooks are still arriving on the legacy front endpoint rather than the canonical perimeter endpoint. Cleared automatically once a webhook arrives on the canonical endpoint.","type":"null","uniqueKey":"system_custom.oneOf.14.legacy_webhook_endpoint.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.14.legacy_webhook_endpoint","typeLabel":"boolean | null"},"use_webhook_data":{"oneOf":[{"description":"Temporary migration toggle. When true, webhook payloads carry and drive data directly. When false and API credentials are configured, webhooks only trigger an API-backed sync.","type":"boolean","uniqueKey":"system_custom.oneOf.14.use_webhook_data.oneOf.0","typeLabel":"boolean"},{"description":"Temporary migration toggle. When true, webhook payloads carry and drive data directly. When false and API credentials are configured, webhooks only trigger an API-backed sync.","type":"null","uniqueKey":"system_custom.oneOf.14.use_webhook_data.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.14.use_webhook_data","typeLabel":"boolean | null"}},"uniqueKey":"system_custom.oneOf.14","typeLabel":"HumaHrSystemCustom · object"},{"type":"object","title":"JsonFileSystemCustom","description":"Custom configuration for JSON file system integrations.","properties":{"input_shape":{"description":"How records are read: top-level `array`, `wrapped` array (see records_path), or `jsonl`.","enum":["array","wrapped","jsonl"],"type":"string","uniqueKey":"system_custom.oneOf.15.input_shape","typeLabel":"enum\u003cstring>"},"link_path":{"oneOf":[{"description":"Optional JSONPath (per record) used as the entity link id.","type":"string","uniqueKey":"system_custom.oneOf.15.link_path.oneOf.0","typeLabel":"string"},{"description":"Optional JSONPath (per record) used as the entity link id.","type":"null","uniqueKey":"system_custom.oneOf.15.link_path.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.15.link_path","typeLabel":"string | null"},"output_records_key":{"oneOf":[{"description":"For output_shape `wrapped`: the key the records array is nested under.","type":"string","uniqueKey":"system_custom.oneOf.15.output_records_key.oneOf.0","typeLabel":"string"},{"description":"For output_shape `wrapped`: the key the records array is nested under.","type":"null","uniqueKey":"system_custom.oneOf.15.output_records_key.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.15.output_records_key","typeLabel":"string | null"},"output_shape":{"description":"Shape of the exported file.","enum":["array","wrapped","jsonl"],"type":"string","uniqueKey":"system_custom.oneOf.15.output_shape","typeLabel":"enum\u003cstring>"},"records_path":{"oneOf":[{"description":"For input_shape `wrapped`: JSONPath to the records array (e.g. `$.employees`).","type":"string","uniqueKey":"system_custom.oneOf.15.records_path.oneOf.0","typeLabel":"string"},{"description":"For input_shape `wrapped`: JSONPath to the records array (e.g. `$.employees`).","type":"null","uniqueKey":"system_custom.oneOf.15.records_path.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.15.records_path","typeLabel":"string | null"},"slug":{"enum":["json_file"],"nullable":false,"type":"string","uniqueKey":"system_custom.oneOf.15.slug","typeLabel":"enum\u003cstring>"},"sources":{"description":"The field sources exposed to the property mapper.","items":{"description":"A group of fields read from each record (scalar) or from a nested array (list).","properties":{"base_path":{"oneOf":[{"description":"List sources only: JSONPath (per record) selecting the array elements.","type":"string","uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].base_path.oneOf.0","typeLabel":"string"},{"description":"List sources only: JSONPath (per record) selecting the array elements.","type":"null","uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].base_path.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].base_path","typeLabel":"string | null"},"end_date_path":{"oneOf":[{"description":"JSONPath whose value becomes the (exclusive) end-date on every DatedProperty.","type":"string","uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].end_date_path.oneOf.0","typeLabel":"string"},{"description":"JSONPath whose value becomes the (exclusive) end-date on every DatedProperty.","type":"null","uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].end_date_path.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].end_date_path","typeLabel":"string | null"},"fields":{"description":"The fields exposed by this source.","items":{"description":"A single mappable field within a JSON file source.","properties":{"id":{"oneOf":[{"description":"Stable id for the field; generated server-side if omitted.","type":"string","uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].fields.items.[INDEX].id.oneOf.0","typeLabel":"string"},{"description":"Stable id for the field; generated server-side if omitted.","type":"null","uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].fields.items.[INDEX].id.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].fields.items.[INDEX].id","typeLabel":"string | null"},"name":{"oneOf":[{"description":"Display name shown in the property mapper.","type":"string","uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].fields.items.[INDEX].name.oneOf.0","typeLabel":"string"},{"description":"Display name shown in the property mapper.","type":"null","uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].fields.items.[INDEX].name.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].fields.items.[INDEX].name","typeLabel":"string | null"},"path":{"oneOf":[{"description":"JSONPath to the value, relative to the record (scalar source) or to each array element (list source).","type":"string","uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].fields.items.[INDEX].path.oneOf.0","typeLabel":"string"},{"description":"JSONPath to the value, relative to the record (scalar source) or to each array element (list source).","type":"null","uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].fields.items.[INDEX].path.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].fields.items.[INDEX].path","typeLabel":"string | null"}},"title":"JsonFileCustomField","type":"object","uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].fields.items.[INDEX]","typeLabel":"JsonFileCustomField · object"},"type":"array","uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].fields","typeLabel":"JsonFileCustomField · object[]"},"id":{"oneOf":[{"description":"Stable id for the source; generated server-side if omitted.","type":"string","uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].id.oneOf.0","typeLabel":"string"},{"description":"Stable id for the source; generated server-side if omitted.","type":"null","uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].id.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].id","typeLabel":"string | null"},"id_path":{"oneOf":[{"description":"JSONPath whose value becomes the `id` on every DatedProperty (groups parallel value histories).","type":"string","uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].id_path.oneOf.0","typeLabel":"string"},{"description":"JSONPath whose value becomes the `id` on every DatedProperty (groups parallel value histories).","type":"null","uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].id_path.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].id_path","typeLabel":"string | null"},"ignore":{"oneOf":[{"description":"Skip this source when parsing.","type":"boolean","uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].ignore.oneOf.0","typeLabel":"boolean"},{"description":"Skip this source when parsing.","type":"null","uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].ignore.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].ignore","typeLabel":"boolean | null"},"kind":{"description":"`scalar` reads fields off each record; `list` iterates a nested array.","enum":["scalar","list"],"type":"string","uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"name":{"oneOf":[{"description":"Display name of the source.","type":"string","uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].name.oneOf.0","typeLabel":"string"},{"description":"Display name of the source.","type":"null","uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].name.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].name","typeLabel":"string | null"},"start_date_path":{"oneOf":[{"description":"JSONPath whose value becomes `valid_from` on every DatedProperty.","type":"string","uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].start_date_path.oneOf.0","typeLabel":"string"},{"description":"JSONPath whose value becomes `valid_from` on every DatedProperty.","type":"null","uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].start_date_path.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX].start_date_path","typeLabel":"string | null"}},"title":"JsonFileCustomSource","type":"object","uniqueKey":"system_custom.oneOf.15.sources.items.[INDEX]","typeLabel":"JsonFileCustomSource · object"},"type":"array","uniqueKey":"system_custom.oneOf.15.sources","typeLabel":"JsonFileCustomSource · object[]"}},"uniqueKey":"system_custom.oneOf.15","typeLabel":"JsonFileSystemCustom · object"},{"type":"object","title":"KleerSystemCustom","description":"Custom configuration for Kleer system integrations.","properties":{"new_customer_project_default_name":{"oneOf":[{"description":"Default name for new customer projects.","type":"string","uniqueKey":"system_custom.oneOf.16.new_customer_project_default_name.oneOf.0","typeLabel":"string"},{"description":"Default name for new customer projects.","type":"null","uniqueKey":"system_custom.oneOf.16.new_customer_project_default_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.16.new_customer_project_default_name","typeLabel":"string | null"},"slug":{"enum":["pe_accounting"],"nullable":false,"type":"string","uniqueKey":"system_custom.oneOf.16.slug","typeLabel":"enum\u003cstring>"},"sync_new_customer_project":{"oneOf":[{"default":false,"description":"Whether to sync new customer projects.","type":"boolean","uniqueKey":"system_custom.oneOf.16.sync_new_customer_project.oneOf.0","typeLabel":"boolean"},{"default":false,"description":"Whether to sync new customer projects.","type":"null","uniqueKey":"system_custom.oneOf.16.sync_new_customer_project.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.16.sync_new_customer_project","typeLabel":"boolean | null"},"use_test_api":{"oneOf":[{"default":true,"description":"Whether to use Kleer's test API.","type":"boolean","uniqueKey":"system_custom.oneOf.16.use_test_api.oneOf.0","typeLabel":"boolean"},{"default":true,"description":"Whether to use Kleer's test API.","type":"null","uniqueKey":"system_custom.oneOf.16.use_test_api.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.16.use_test_api","typeLabel":"boolean | null"},"variable_pay_date_range_end":{"oneOf":[{"description":"Day of month to end syncing variable pay.","type":"integer","uniqueKey":"system_custom.oneOf.16.variable_pay_date_range_end.oneOf.0","typeLabel":"integer"},{"description":"Day of month to end syncing variable pay.","type":"null","uniqueKey":"system_custom.oneOf.16.variable_pay_date_range_end.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.16.variable_pay_date_range_end","typeLabel":"integer | null"},"variable_pay_date_range_start":{"oneOf":[{"description":"Day of month to start syncing variable pay.","type":"integer","uniqueKey":"system_custom.oneOf.16.variable_pay_date_range_start.oneOf.0","typeLabel":"integer"},{"description":"Day of month to start syncing variable pay.","type":"null","uniqueKey":"system_custom.oneOf.16.variable_pay_date_range_start.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.16.variable_pay_date_range_start","typeLabel":"integer | null"}},"uniqueKey":"system_custom.oneOf.16","typeLabel":"KleerSystemCustom · object"},{"type":"object","title":"KontekSystemCustom","description":"Custom configuration for Kontek system integrations.","required":["slug"],"properties":{"slug":{"enum":["kontek"],"nullable":false,"type":"string","isRequired":true,"uniqueKey":"system_custom.oneOf.17.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"system_custom.oneOf.17","typeLabel":"KontekSystemCustom · object"},{"type":"object","title":"ManualDownloadSystemCustom","description":"Custom configuration for manual_download file_area integrations.","properties":{"notification_emails":{"oneOf":[{"description":"Email addresses to notify when a new file becomes available for download. Dispatch is not yet enabled.","items":{"type":"string","uniqueKey":"system_custom.oneOf.18.notification_emails.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"system_custom.oneOf.18.notification_emails.oneOf.0","typeLabel":"string[]"},{"description":"Email addresses to notify when a new file becomes available for download. Dispatch is not yet enabled.","items":{"type":"string"},"type":"null","uniqueKey":"system_custom.oneOf.18.notification_emails.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.18.notification_emails","typeLabel":"string[] | null"},"retention_days":{"oneOf":[{"default":30,"description":"Number of days generated files are retained in internal storage and available for download.","maximum":365,"minimum":1,"type":"integer","uniqueKey":"system_custom.oneOf.18.retention_days.oneOf.0","typeLabel":"integer"},{"default":30,"description":"Number of days generated files are retained in internal storage and available for download.","maximum":365,"minimum":1,"type":"null","uniqueKey":"system_custom.oneOf.18.retention_days.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.18.retention_days","typeLabel":"integer | null"},"slug":{"enum":["manual_download"],"nullable":false,"type":"string","uniqueKey":"system_custom.oneOf.18.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"system_custom.oneOf.18","typeLabel":"ManualDownloadSystemCustom · object"},{"type":"object","title":"ManualUploadSystemCustom","description":"Custom configuration for manual_upload file_area integrations.","properties":{"max_upload_bytes":{"oneOf":[{"description":"Largest file, in bytes, that can be uploaded on this integration. Lowers the platform limit of 50 MiB; it cannot raise it.","minimum":1,"type":"integer","uniqueKey":"system_custom.oneOf.19.max_upload_bytes.oneOf.0","typeLabel":"integer"},{"description":"Largest file, in bytes, that can be uploaded on this integration. Lowers the platform limit of 50 MiB; it cannot raise it.","minimum":1,"type":"null","uniqueKey":"system_custom.oneOf.19.max_upload_bytes.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.19.max_upload_bytes","typeLabel":"integer | null"},"slug":{"enum":["manual_upload"],"nullable":false,"type":"string","uniqueKey":"system_custom.oneOf.19.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"system_custom.oneOf.19","typeLabel":"ManualUploadSystemCustom · object"},{"type":"object","title":"PaxmlSystemCustom","description":"Custom configuration for Paxml system integrations.","properties":{"report_date_range_strategy":{"oneOf":[{"description":"The report date range parsing strategy to use for this integration.","enum":["auto","header","range","range_rounded"],"type":"string","uniqueKey":"system_custom.oneOf.20.report_date_range_strategy.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"The report date range parsing strategy to use for this integration.","enum":["auto","header","range","range_rounded"],"type":"null","uniqueKey":"system_custom.oneOf.20.report_date_range_strategy.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.20.report_date_range_strategy","typeLabel":"enum\u003cstring> | null"},"slug":{"enum":["paxml"],"nullable":false,"type":"string","uniqueKey":"system_custom.oneOf.20.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"system_custom.oneOf.20","typeLabel":"PaxmlSystemCustom · object"},{"type":"object","title":"PeopleCoreSystemCustom","description":"Custom configuration for PeopleCore system integrations.","properties":{"scopes":{"oneOf":[{"description":"The permission scopes to use for this integration.","items":{"type":"string","uniqueKey":"system_custom.oneOf.21.scopes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"system_custom.oneOf.21.scopes.oneOf.0","typeLabel":"string[]"},{"description":"The permission scopes to use for this integration.","items":{"type":"string"},"type":"null","uniqueKey":"system_custom.oneOf.21.scopes.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.21.scopes","typeLabel":"string[] | null"},"slug":{"enum":["people_core"],"nullable":false,"type":"string","uniqueKey":"system_custom.oneOf.21.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"system_custom.oneOf.21","typeLabel":"PeopleCoreSystemCustom · object"},{"type":"object","title":"PersonioSystemCustom","description":"Custom configuration for Personio system integrations.","properties":{"compensation_history_months":{"oneOf":[{"default":0,"description":"How many months of compensation history to retrieve, counting back from the current month. Personio caps a single compensation query at one calendar month, so each month is fetched separately.","type":"integer","uniqueKey":"system_custom.oneOf.22.compensation_history_months.oneOf.0","typeLabel":"integer"},{"default":0,"description":"How many months of compensation history to retrieve, counting back from the current month. Personio caps a single compensation query at one calendar month, so each month is fetched separately.","type":"null","uniqueKey":"system_custom.oneOf.22.compensation_history_months.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.22.compensation_history_months","typeLabel":"integer | null"},"partner_id":{"oneOf":[{"description":"The Personio partner ID to use for this integration.","type":"string","uniqueKey":"system_custom.oneOf.22.partner_id.oneOf.0","typeLabel":"string"},{"description":"The Personio partner ID to use for this integration.","type":"null","uniqueKey":"system_custom.oneOf.22.partner_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.22.partner_id","typeLabel":"string | null"},"slug":{"enum":["personio"],"nullable":false,"type":"string","uniqueKey":"system_custom.oneOf.22.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"system_custom.oneOf.22","typeLabel":"PersonioSystemCustom · object"},{"type":"object","title":"S3SystemCustom","description":"Custom configuration for S3 system integrations.","properties":{"s3_host":{"oneOf":[{"description":"The S3 host to connect to.","type":"string","uniqueKey":"system_custom.oneOf.23.s3_host.oneOf.0","typeLabel":"string"},{"description":"The S3 host to connect to.","type":"null","uniqueKey":"system_custom.oneOf.23.s3_host.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.23.s3_host","typeLabel":"string | null"},"s3_region":{"oneOf":[{"default":"us-east-1","description":"The S3 region to connect to.","type":"string","uniqueKey":"system_custom.oneOf.23.s3_region.oneOf.0","typeLabel":"string"},{"default":"us-east-1","description":"The S3 region to connect to.","type":"null","uniqueKey":"system_custom.oneOf.23.s3_region.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.23.s3_region","typeLabel":"string | null"},"slug":{"enum":["s3"],"nullable":false,"type":"string","uniqueKey":"system_custom.oneOf.23.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"system_custom.oneOf.23","typeLabel":"S3SystemCustom · object"},{"type":"object","title":"SftpSystemCustom","description":"Custom configuration for SFTP system integrations.","properties":{"auth_method":{"default":"password","description":"How Twine authenticates: `password` uses `api_client_secret`, `ssh_key` uses the private key in `api_key`. Changing it clears the other method's secret.","enum":["password","ssh_key"],"type":"string","uniqueKey":"system_custom.oneOf.24.auth_method","typeLabel":"enum\u003cstring>"},"sftp_host":{"oneOf":[{"description":"The SFTP host to connect to.","type":"string","uniqueKey":"system_custom.oneOf.24.sftp_host.oneOf.0","typeLabel":"string"},{"description":"The SFTP host to connect to.","type":"null","uniqueKey":"system_custom.oneOf.24.sftp_host.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.24.sftp_host","typeLabel":"string | null"},"sftp_port":{"oneOf":[{"default":22,"description":"The SFTP port to connect to.","type":"integer","uniqueKey":"system_custom.oneOf.24.sftp_port.oneOf.0","typeLabel":"integer"},{"default":22,"description":"The SFTP port to connect to.","type":"null","uniqueKey":"system_custom.oneOf.24.sftp_port.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.24.sftp_port","typeLabel":"integer | null"},"slug":{"enum":["sftp"],"nullable":false,"type":"string","uniqueKey":"system_custom.oneOf.24.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"system_custom.oneOf.24","typeLabel":"SftpSystemCustom · object"},{"type":"object","title":"SimployerOneSystemCustom","description":"Custom configuration for SimployerOne system integrations.","properties":{"slug":{"enum":["alexis_hr"],"nullable":false,"type":"string","uniqueKey":"system_custom.oneOf.25.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"system_custom.oneOf.25","typeLabel":"SimployerOneSystemCustom · object"},{"type":"object","title":"SkovikSystemCustom","description":"Custom configuration for Skovik system integrations.","required":["slug"],"properties":{"slug":{"enum":["skovik"],"nullable":false,"type":"string","isRequired":true,"uniqueKey":"system_custom.oneOf.26.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"system_custom.oneOf.26","typeLabel":"SkovikSystemCustom · object"},{"type":"object","title":"TeamtailorSystemCustom","description":"Custom configuration for Teamtailor system integrations.","properties":{"filter_on_stage_types":{"oneOf":[{"description":"The authentication scheme to use for this Teamtailor integration.","enum":["basic","bearer"],"type":"string","uniqueKey":"system_custom.oneOf.27.filter_on_stage_types.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"The authentication scheme to use for this Teamtailor integration.","enum":["basic","bearer"],"type":"null","uniqueKey":"system_custom.oneOf.27.filter_on_stage_types.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.27.filter_on_stage_types","typeLabel":"enum\u003cstring> | null"},"slug":{"enum":["teamtailor"],"nullable":false,"type":"string","uniqueKey":"system_custom.oneOf.27.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"system_custom.oneOf.27","typeLabel":"TeamtailorSystemCustom · object"},{"type":"object","title":"TwentyFourSevenSystemCustom","description":"Custom configuration for Twenty Four Seven system integrations.","required":["slug"],"properties":{"slug":{"enum":["twenty_four_seven"],"nullable":false,"type":"string","isRequired":true,"uniqueKey":"system_custom.oneOf.28.slug","typeLabel":"enum\u003cstring>"},"absence_replication":{"oneOf":[{"description":"Absence replication configuration for V2 pipeline.","properties":{"group_by_field":{"oneOf":[{"description":"Field used to group consecutive absences.","enum":["comment","source_external_id","source_external_ids","target_time_type_id"],"type":"string","uniqueKey":"system_custom.oneOf.28.absence_replication.oneOf.0.group_by_field.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"Field used to group consecutive absences.","enum":["comment","source_external_id","source_external_ids","target_time_type_id"],"type":"null","uniqueKey":"system_custom.oneOf.28.absence_replication.oneOf.0.group_by_field.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.28.absence_replication.oneOf.0.group_by_field","typeLabel":"enum\u003cstring> | null"},"group_consecutive":{"oneOf":[{"description":"Whether to merge consecutive daily TimeReports sharing the grouping field into a single Payday absence.","type":"boolean","uniqueKey":"system_custom.oneOf.28.absence_replication.oneOf.0.group_consecutive.oneOf.0","typeLabel":"boolean"},{"description":"Whether to merge consecutive daily TimeReports sharing the grouping field into a single Payday absence.","type":"null","uniqueKey":"system_custom.oneOf.28.absence_replication.oneOf.0.group_consecutive.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.28.absence_replication.oneOf.0.group_consecutive","typeLabel":"boolean | null"}},"title":"TwentyFourSevenAbsenceReplication","type":"object","uniqueKey":"system_custom.oneOf.28.absence_replication.oneOf.0","typeLabel":"TwentyFourSevenAbsenceReplication · object"},{"description":"Absence replication configuration for V2 pipeline.","properties":{"group_by_field":{"oneOf":[{"description":"Field used to group consecutive absences.","enum":["comment","source_external_id","source_external_ids","target_time_type_id"],"type":"string"},{"description":"Field used to group consecutive absences.","enum":["comment","source_external_id","source_external_ids","target_time_type_id"],"type":"null"}]},"group_consecutive":{"oneOf":[{"description":"Whether to merge consecutive daily TimeReports sharing the grouping field into a single Payday absence.","type":"boolean"},{"description":"Whether to merge consecutive daily TimeReports sharing the grouping field into a single Payday absence.","type":"null"}]}},"title":"TwentyFourSevenAbsenceReplication","type":"null","uniqueKey":"system_custom.oneOf.28.absence_replication.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.28.absence_replication","typeLabel":"TwentyFourSevenAbsenceReplication · object | null"},"country_code":{"oneOf":[{"description":"Auto-detected from Payday's organization endpoint on credential save. Drives country-specific V2 payload handling.","enum":["SE","NO"],"type":"string","uniqueKey":"system_custom.oneOf.28.country_code.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"Auto-detected from Payday's organization endpoint on credential save. Drives country-specific V2 payload handling.","enum":["SE","NO"],"type":"null","uniqueKey":"system_custom.oneOf.28.country_code.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.28.country_code","typeLabel":"enum\u003cstring> | null"},"defer_employment_end_date":{"oneOf":[{"deprecated":true,"description":"Deprecated, use employment_end_date_policy. Read as `defer` when no policy is set.","type":"boolean","uniqueKey":"system_custom.oneOf.28.defer_employment_end_date.oneOf.0","typeLabel":"boolean"},{"deprecated":true,"description":"Deprecated, use employment_end_date_policy. Read as `defer` when no policy is set.","type":"null","uniqueKey":"system_custom.oneOf.28.defer_employment_end_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.28.defer_employment_end_date","typeLabel":"boolean | null"},"designate_primary_employment":{"oneOf":[{"description":"Whether Twine designates the primary employment for each employee.","type":"boolean","uniqueKey":"system_custom.oneOf.28.designate_primary_employment.oneOf.0","typeLabel":"boolean"},{"description":"Whether Twine designates the primary employment for each employee.","type":"null","uniqueKey":"system_custom.oneOf.28.designate_primary_employment.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.28.designate_primary_employment","typeLabel":"boolean | null"},"employment_end_date_offset":{"oneOf":[{"description":"How far ahead of today an employment end date may fall and still be written, when end date deferral is enabled.","properties":{"day":{"oneOf":[{"default":0,"type":"integer","uniqueKey":"system_custom.oneOf.28.employment_end_date_offset.oneOf.0.day.oneOf.0","typeLabel":"integer"},{"default":0,"type":"null","uniqueKey":"system_custom.oneOf.28.employment_end_date_offset.oneOf.0.day.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.28.employment_end_date_offset.oneOf.0.day","typeLabel":"integer | null"},"month":{"oneOf":[{"default":0,"type":"integer","uniqueKey":"system_custom.oneOf.28.employment_end_date_offset.oneOf.0.month.oneOf.0","typeLabel":"integer"},{"default":0,"type":"null","uniqueKey":"system_custom.oneOf.28.employment_end_date_offset.oneOf.0.month.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.28.employment_end_date_offset.oneOf.0.month","typeLabel":"integer | null"},"week":{"oneOf":[{"default":0,"type":"integer","uniqueKey":"system_custom.oneOf.28.employment_end_date_offset.oneOf.0.week.oneOf.0","typeLabel":"integer"},{"default":0,"type":"null","uniqueKey":"system_custom.oneOf.28.employment_end_date_offset.oneOf.0.week.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.28.employment_end_date_offset.oneOf.0.week","typeLabel":"integer | null"},"year":{"oneOf":[{"default":0,"type":"integer","uniqueKey":"system_custom.oneOf.28.employment_end_date_offset.oneOf.0.year.oneOf.0","typeLabel":"integer"},{"default":0,"type":"null","uniqueKey":"system_custom.oneOf.28.employment_end_date_offset.oneOf.0.year.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.28.employment_end_date_offset.oneOf.0.year","typeLabel":"integer | null"}},"title":"TwentyFourSevenEmploymentEndDateOffset","type":"object","uniqueKey":"system_custom.oneOf.28.employment_end_date_offset.oneOf.0","typeLabel":"TwentyFourSevenEmploymentEndDateOffset · object"},{"description":"How far ahead of today an employment end date may fall and still be written, when end date deferral is enabled.","properties":{"day":{"oneOf":[{"default":0,"type":"integer"},{"default":0,"type":"null"}]},"month":{"oneOf":[{"default":0,"type":"integer"},{"default":0,"type":"null"}]},"week":{"oneOf":[{"default":0,"type":"integer"},{"default":0,"type":"null"}]},"year":{"oneOf":[{"default":0,"type":"integer"},{"default":0,"type":"null"}]}},"title":"TwentyFourSevenEmploymentEndDateOffset","type":"null","uniqueKey":"system_custom.oneOf.28.employment_end_date_offset.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.28.employment_end_date_offset","typeLabel":"TwentyFourSevenEmploymentEndDateOffset · object | null"},"employment_end_date_policy":{"oneOf":[{"description":"Who sets an employment's end date and reason in Payday. `write` (the default) sends them as soon as Twine has them; `defer` waits until the end date falls within employment_end_date_offset of today; `never` means Twine writes none and the customer sets them by hand.","enum":["write","defer","never"],"type":"string","uniqueKey":"system_custom.oneOf.28.employment_end_date_policy.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"Who sets an employment's end date and reason in Payday. `write` (the default) sends them as soon as Twine has them; `defer` waits until the end date falls within employment_end_date_offset of today; `never` means Twine writes none and the customer sets them by hand.","enum":["write","defer","never"],"type":"null","uniqueKey":"system_custom.oneOf.28.employment_end_date_policy.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.28.employment_end_date_policy","typeLabel":"enum\u003cstring> | null"},"merge_contiguous_employments":{"oneOf":[{"description":"Whether source employment periods that run contiguously and agree on every mapped field are sent to Payday as a single employment.","type":"boolean","uniqueKey":"system_custom.oneOf.28.merge_contiguous_employments.oneOf.0","typeLabel":"boolean"},{"description":"Whether source employment periods that run contiguously and agree on every mapped field are sent to Payday as a single employment.","type":"null","uniqueKey":"system_custom.oneOf.28.merge_contiguous_employments.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.28.merge_contiguous_employments","typeLabel":"boolean | null"},"primary_employment_date_offset":{"oneOf":[{"description":"Date offset applied when designating primary employment.","properties":{"day":{"oneOf":[{"default":0,"type":"integer","uniqueKey":"system_custom.oneOf.28.primary_employment_date_offset.oneOf.0.day.oneOf.0","typeLabel":"integer"},{"default":0,"type":"null","uniqueKey":"system_custom.oneOf.28.primary_employment_date_offset.oneOf.0.day.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.28.primary_employment_date_offset.oneOf.0.day","typeLabel":"integer | null"},"month":{"oneOf":[{"default":0,"type":"integer","uniqueKey":"system_custom.oneOf.28.primary_employment_date_offset.oneOf.0.month.oneOf.0","typeLabel":"integer"},{"default":0,"type":"null","uniqueKey":"system_custom.oneOf.28.primary_employment_date_offset.oneOf.0.month.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.28.primary_employment_date_offset.oneOf.0.month","typeLabel":"integer | null"},"week":{"oneOf":[{"default":0,"type":"integer","uniqueKey":"system_custom.oneOf.28.primary_employment_date_offset.oneOf.0.week.oneOf.0","typeLabel":"integer"},{"default":0,"type":"null","uniqueKey":"system_custom.oneOf.28.primary_employment_date_offset.oneOf.0.week.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.28.primary_employment_date_offset.oneOf.0.week","typeLabel":"integer | null"},"year":{"oneOf":[{"default":0,"type":"integer","uniqueKey":"system_custom.oneOf.28.primary_employment_date_offset.oneOf.0.year.oneOf.0","typeLabel":"integer"},{"default":0,"type":"null","uniqueKey":"system_custom.oneOf.28.primary_employment_date_offset.oneOf.0.year.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.28.primary_employment_date_offset.oneOf.0.year","typeLabel":"integer | null"}},"title":"TwentyFourSevenPrimaryEmploymentDateOffset","type":"object","uniqueKey":"system_custom.oneOf.28.primary_employment_date_offset.oneOf.0","typeLabel":"TwentyFourSevenPrimaryEmploymentDateOffset · object"},{"description":"Date offset applied when designating primary employment.","properties":{"day":{"oneOf":[{"default":0,"type":"integer"},{"default":0,"type":"null"}]},"month":{"oneOf":[{"default":0,"type":"integer"},{"default":0,"type":"null"}]},"week":{"oneOf":[{"default":0,"type":"integer"},{"default":0,"type":"null"}]},"year":{"oneOf":[{"default":0,"type":"integer"},{"default":0,"type":"null"}]}},"title":"TwentyFourSevenPrimaryEmploymentDateOffset","type":"null","uniqueKey":"system_custom.oneOf.28.primary_employment_date_offset.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.28.primary_employment_date_offset","typeLabel":"TwentyFourSevenPrimaryEmploymentDateOffset · object | null"},"use_v2_replication_pipeline":{"oneOf":[{"description":"Opt-in to the V2 replication pipeline. Requires country_code to be set.","type":"boolean","uniqueKey":"system_custom.oneOf.28.use_v2_replication_pipeline.oneOf.0","typeLabel":"boolean"},{"description":"Opt-in to the V2 replication pipeline. Requires country_code to be set.","type":"null","uniqueKey":"system_custom.oneOf.28.use_v2_replication_pipeline.oneOf.1","typeLabel":"null"}],"uniqueKey":"system_custom.oneOf.28.use_v2_replication_pipeline","typeLabel":"boolean | null"}},"uniqueKey":"system_custom.oneOf.28","typeLabel":"TwentyFourSevenSystemCustom · object"},{"type":"object","title":"TimeRecorderSystemCustom","description":"Custom configuration for Time Recorder system integrations.","required":["slug"],"properties":{"slug":{"enum":["time_recorder"],"nullable":false,"type":"string","isRequired":true,"uniqueKey":"system_custom.oneOf.29.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"system_custom.oneOf.29","typeLabel":"TimeRecorderSystemCustom · object"},{"type":"object","title":"TwineSystemCustom","description":"Custom configuration for Twine system integrations.","required":["slug"],"properties":{"slug":{"enum":["twine"],"nullable":false,"type":"string","isRequired":true,"uniqueKey":"system_custom.oneOf.30.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"system_custom.oneOf.30","typeLabel":"TwineSystemCustom · object"}],"uniqueKey":"system_custom","typeLabel":"AgdaFileSystemCustom · object | AgdaPsSystemCustom · object | BambooHrSystemCustom · object | CaspecoSystemCustom · object | SpreadsheetSystemCustom · object | EntraIdSystemCustom · object | EvityHrSystemCustom · object | FlexHrmSystemCustom · object | FortnoxSystemCustom · object | GenericSystemCustom · object | HaileyHrSystemCustom · object | HibobSystemCustom · object | HogiaOpenHrSystemCustomSchema · object | HogiaPlusHrSystemCustomSchema · object | HumaHrSystemCustom · object | JsonFileSystemCustom · object | KleerSystemCustom · object | KontekSystemCustom · object | ManualDownloadSystemCustom · object | ManualUploadSystemCustom · object | PaxmlSystemCustom · object | PeopleCoreSystemCustom · object | PersonioSystemCustom · object | S3SystemCustom · object | SftpSystemCustom · object | SimployerOneSystemCustom · object | SkovikSystemCustom · object | TeamtailorSystemCustom · object | TwentyFourSevenSystemCustom · object | TimeRecorderSystemCustom · object | TwineSystemCustom · object"},"template_id":{"oneOf":[{"description":"Optional UUID of the template to use for the integration. Specifying a non-existing template, or an incompatible template will result in a 400 response.","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","type":"string","uniqueKey":"template_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"description":"Optional UUID of the template to use for the integration. Specifying a non-existing template, or an incompatible template will result in a 400 response.","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","type":"null","uniqueKey":"template_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"template_id","typeLabel":"string\u003cuuid> | null"}},"required":["system_id"],"title":"SystemIntegrationCreateRequest","type":"object","uniqueKey":"","typeLabel":"SystemIntegrationCreateRequest · object"},"examples":{"Example":{"title":"Example","value":{"system_id":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","auth":{"api_key":"\u003cstring>","slug":"heartpace"},"create_default_mappings":true,"description":"\u003cstring>","system_custom":{"slug":"agda_file","change_lookback_enabled":true,"change_lookback_value":2,"company_no":"\u003cstring>","file_name_prefix":"\u003cstring>","salary_paycodes":["\u003cstring>"]},"template_id":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b"}}},"exampleType":"generated"}},"description":"System Integration Create Request","required":false,"exampleType":"generated"},"responses":{"f0d33fc8-30b8-4630-bc1b-ab3903e93b85":{"content":{"application/json":{"schema":{"description":"A response object with a single system integration","properties":{"data":{"description":"An object representing a system integration in Twine.","properties":{"id":{"description":"The system integration's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.id","typeLabel":"string\u003cuuid>"},"org_id":{"description":"The parent organization's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.org_id","typeLabel":"string\u003cuuid>"},"system_id":{"description":"The parent system's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.system_id","typeLabel":"string\u003cuuid>"},"api_client_id":{"oneOf":[{"description":"For integrations using API client id/secret combinations, this is the API client ID.","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","type":"string","uniqueKey":"data.api_client_id.oneOf.0","typeLabel":"string"},{"description":"For integrations using API client id/secret combinations, this is the API client ID.","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","type":"null","uniqueKey":"data.api_client_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.api_client_id","typeLabel":"string | null"},"api_endpoint_url":{"oneOf":[{"description":"The API endpoint URL for the integration. Not required for all integration types. Must be an https URL on a public host, and for systems with a fixed vendor domain the host must be on that domain. Changing it clears the stored secrets (`api_key`, `api_client_secret`) unless they are sent in the same request, whether new or unchanged; sending the current URL again clears nothing.","example":"https://your-company.api.example.com/v1","type":"string","uniqueKey":"data.api_endpoint_url.oneOf.0","typeLabel":"string"},{"description":"The API endpoint URL for the integration. Not required for all integration types. Must be an https URL on a public host, and for systems with a fixed vendor domain the host must be on that domain. Changing it clears the stored secrets (`api_key`, `api_client_secret`) unless they are sent in the same request, whether new or unchanged; sending the current URL again clears nothing.","example":"https://your-company.api.example.com/v1","type":"null","uniqueKey":"data.api_endpoint_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.api_endpoint_url","typeLabel":"string | null"},"domain_mappings":{"oneOf":[{"description":"List of incoming domain mappings associated with this system integration. Not returned when updating.","items":{"description":"An object representing a domain mapping.","properties":{"enabled":{"description":"Whether the domain mapping is enabled","example":true,"nullable":false,"type":"boolean","isRequired":true,"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].enabled","typeLabel":"boolean"},"from_domain":{"description":"The source domain for the mapping.","enum":["finance","employee_competence","competence","expense_transaction","salary_transaction","file_transfer","project","org_unit","customer","schedule","time_report","employee"],"example":"employee","title":"Domain","type":"string","isRequired":true,"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].from_domain","typeLabel":"enum\u003cstring>"},"id":{"description":"The sync trigger's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"org_id":{"description":"The parent organization's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].org_id","typeLabel":"string\u003cuuid>"},"source_system_integration_id":{"description":"The source system integration's UUID. ","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].source_system_integration_id","typeLabel":"string\u003cuuid>"},"target_system_integration_id":{"description":"The source system integration's UUID. ","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].target_system_integration_id","typeLabel":"string\u003cuuid>"},"to_domain":{"description":"The target domain for the mapping.","enum":["finance","employee_competence","competence","expense_transaction","salary_transaction","file_transfer","project","org_unit","customer","schedule","time_report","employee"],"example":"employee","title":"Domain","type":"string","isRequired":true,"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].to_domain","typeLabel":"enum\u003cstring>"},"all_conditions_must_apply":{"description":"Whether every condition must match (AND) rather than any one of them (OR). Has no effect when `conditions` is empty.","example":false,"nullable":false,"type":"boolean","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].all_conditions_must_apply","typeLabel":"boolean"},"conditions":{"oneOf":[{"description":"List of conditions associated with this domain mapping.","items":{"description":"A condition for filtering data.","properties":{"apply_on_actions":{"description":"List of actions the condition applies to","items":{"enum":["create","update"],"type":"string","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].conditions.oneOf.0.items.[INDEX].apply_on_actions.items.[INDEX]","typeLabel":"enum\u003cstring>"},"nullable":false,"type":"array","isRequired":true,"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].conditions.oneOf.0.items.[INDEX].apply_on_actions","typeLabel":"enum\u003cstring>[]"},"condition":{"description":"V2 Graph Engine condition","type":"object","isRequired":true,"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].conditions.oneOf.0.items.[INDEX].condition","typeLabel":"object"},"domain":{"description":"The data domain","enum":["finance","employee_competence","competence","expense_transaction","salary_transaction","file_transfer","project","org_unit","customer","schedule","time_report","employee"],"example":"employee","title":"Domain","type":"string","isRequired":true,"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].conditions.oneOf.0.items.[INDEX].domain","typeLabel":"enum\u003cstring>"},"enabled":{"default":true,"description":"Whether the condition is enabled","type":"boolean","isRequired":true,"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].conditions.oneOf.0.items.[INDEX].enabled","typeLabel":"boolean"},"id":{"description":"The condition's UUID.","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].conditions.oneOf.0.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"description":{"oneOf":[{"description":"A brief description of the condition","type":"string","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].conditions.oneOf.0.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"description":"A brief description of the condition","type":"null","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].conditions.oneOf.0.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].conditions.oneOf.0.items.[INDEX].description","typeLabel":"string | null"}},"required":["id","condition","domain","apply_on_actions","enabled"],"title":"Condition","type":"object","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].conditions.oneOf.0.items.[INDEX]","typeLabel":"Condition · object"},"type":"array","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].conditions.oneOf.0","typeLabel":"Condition · object[]"},{"description":"List of conditions associated with this domain mapping.","items":{"description":"A condition for filtering data.","properties":{"apply_on_actions":{"description":"List of actions the condition applies to","items":{"enum":["create","update"],"type":"string"},"nullable":false,"type":"array"},"condition":{"description":"V2 Graph Engine condition","type":"object"},"description":{"oneOf":[{"description":"A brief description of the condition","type":"string"},{"description":"A brief description of the condition","type":"null"}]},"domain":{"description":"The data domain","enum":["finance","employee_competence","competence","expense_transaction","salary_transaction","file_transfer","project","org_unit","customer","schedule","time_report","employee"],"example":"employee","title":"Domain","type":"string"},"enabled":{"default":true,"description":"Whether the condition is enabled","type":"boolean"},"id":{"description":"The condition's UUID.","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string"}},"required":["id","condition","domain","apply_on_actions","enabled"],"title":"Condition","type":"object"},"type":"null","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].conditions.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].conditions","typeLabel":"Condition · object[] | null"},"description":{"oneOf":[{"description":"Free-text description of the mapping.","example":"Employees from the HR system into payroll","type":"string","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"description":"Free-text description of the mapping.","example":"Employees from the HR system into payroll","type":"null","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].description","typeLabel":"string | null"},"inserted_at":{"description":"Timestamp of when the domain mapping was created","example":"2021-06-01T12:00:00Z","format":"date-time","type":"string","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].inserted_at","typeLabel":"string\u003cdate-time>"},"mode":{"description":"`default` is a full read/write mapping. `update_existing_only` syncs updates onto existing Twine entities only — unmapped incoming entities are dropped and replication is refused.","enum":["update_existing_only","default"],"example":"default","nullable":false,"type":"string","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].mode","typeLabel":"enum\u003cstring>"},"sync_triggers":{"oneOf":[{"description":"List of sync triggers associated with this domain mapping.","items":{"description":"An object representing a sync trigger in a domain mapping.","properties":{"domain_mapping_id":{"description":"The parent domain mapping's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].domain_mapping_id","typeLabel":"string\u003cuuid>"},"id":{"description":"The sync trigger's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"org_id":{"description":"The parent organization's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].org_id","typeLabel":"string\u003cuuid>"},"system_integration_id":{"description":"The parent system integration's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].system_integration_id","typeLabel":"string\u003cuuid>"},"cron_expression":{"oneOf":[{"description":"The cron expression for the scheduled trigger. If null, the trigger can only be run manually","example":"0 0 * * *","type":"string","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].cron_expression.oneOf.0","typeLabel":"string"},{"description":"The cron expression for the scheduled trigger. If null, the trigger can only be run manually","example":"0 0 * * *","type":"null","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].cron_expression.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].cron_expression","typeLabel":"string | null"},"domain_configuration":{"oneOf":[{"type":"object","title":"SyncTriggerTimeReportSettings","description":"The domain-specific configuration for the sync trigger.","properties":{"domain":{"default":"time_report","description":"Must always be `time_report`","type":"string","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].domain_configuration.oneOf.0.domain","typeLabel":"string"},"from_date":{"oneOf":[{"description":"Explicit from date for the time report sync","format":"date","type":"string","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].domain_configuration.oneOf.0.from_date.oneOf.0","typeLabel":"string\u003cdate>"},{"description":"Explicit from date for the time report sync","format":"date","type":"null","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].domain_configuration.oneOf.0.from_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].domain_configuration.oneOf.0.from_date","typeLabel":"string\u003cdate> | null"},"from_date_engine":{"oneOf":[{"description":"Dynamic configuration for the from date. Should not be specified if from_date is set, and vice versa.","type":"object","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].domain_configuration.oneOf.0.from_date_engine.oneOf.0","typeLabel":"object"},{"description":"Dynamic configuration for the from date. Should not be specified if from_date is set, and vice versa.","type":"null","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].domain_configuration.oneOf.0.from_date_engine.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].domain_configuration.oneOf.0.from_date_engine","typeLabel":"object | null"},"to_date":{"oneOf":[{"description":"Explicit to date for the time report sync","format":"date","type":"string","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].domain_configuration.oneOf.0.to_date.oneOf.0","typeLabel":"string\u003cdate>"},{"description":"Explicit to date for the time report sync","format":"date","type":"null","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].domain_configuration.oneOf.0.to_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].domain_configuration.oneOf.0.to_date","typeLabel":"string\u003cdate> | null"},"to_date_engine":{"oneOf":[{"description":"Dynamic configuration for the to date. Should not be specified if to_date is set, and vice versa.","type":"object","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].domain_configuration.oneOf.0.to_date_engine.oneOf.0","typeLabel":"object"},{"description":"Dynamic configuration for the to date. Should not be specified if to_date is set, and vice versa.","type":"null","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].domain_configuration.oneOf.0.to_date_engine.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].domain_configuration.oneOf.0.to_date_engine","typeLabel":"object | null"}},"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].domain_configuration.oneOf.0","typeLabel":"SyncTriggerTimeReportSettings · object"},{"type":"null","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].domain_configuration.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].domain_configuration","typeLabel":"SyncTriggerTimeReportSettings · object | null"},"last_sync_ended_at":{"oneOf":[{"description":"The last time the sync was completed. It is possible for this timestamp to be earlier than `last_sync_started_at`, which would indicate a failed sync","example":"2023-01-01T00:00:00Z","format":"date-time","type":"string","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].last_sync_ended_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"The last time the sync was completed. It is possible for this timestamp to be earlier than `last_sync_started_at`, which would indicate a failed sync","example":"2023-01-01T00:00:00Z","format":"date-time","type":"null","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].last_sync_ended_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].last_sync_ended_at","typeLabel":"string\u003cdate-time> | null"},"last_sync_started_at":{"oneOf":[{"description":"The last time the sync was started.","example":"2023-01-01T00:00:00Z","format":"date-time","type":"string","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].last_sync_started_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"The last time the sync was started.","example":"2023-01-01T00:00:00Z","format":"date-time","type":"null","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].last_sync_started_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].last_sync_started_at","typeLabel":"string\u003cdate-time> | null"},"next_sync_at":{"oneOf":[{"description":"The next scheduled sync time. This is not an exact point in time as the sync will most likely be started shortly afterwards.","example":"2023-01-01T00:00:00Z","format":"date-time","type":"string","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].next_sync_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"The next scheduled sync time. This is not an exact point in time as the sync will most likely be started shortly afterwards.","example":"2023-01-01T00:00:00Z","format":"date-time","type":"null","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].next_sync_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].next_sync_at","typeLabel":"string\u003cdate-time> | null"},"parent_id":{"oneOf":[{"description":"The parent trigger's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","type":"string","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].parent_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"description":"The parent trigger's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","type":"null","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].parent_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX].parent_id","typeLabel":"string\u003cuuid> | null"}},"required":["id","org_id","system_integration_id","domain_mapping_id"],"title":"SyncTrigger","type":"object","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0.items.[INDEX]","typeLabel":"SyncTrigger · object"},"type":"array","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.0","typeLabel":"SyncTrigger · object[]"},{"description":"List of sync triggers associated with this domain mapping.","items":{"description":"An object representing a sync trigger in a domain mapping.","properties":{"cron_expression":{"oneOf":[{"description":"The cron expression for the scheduled trigger. If null, the trigger can only be run manually","example":"0 0 * * *","type":"string"},{"description":"The cron expression for the scheduled trigger. If null, the trigger can only be run manually","example":"0 0 * * *","type":"null"}]},"domain_configuration":{"oneOf":[{"type":"object","title":"SyncTriggerTimeReportSettings","description":"The domain-specific configuration for the sync trigger.","properties":{"domain":{"default":"time_report","description":"Must always be `time_report`","type":"string"},"from_date":{"oneOf":[{"description":"Explicit from date for the time report sync","format":"date","type":"string"},{"description":"Explicit from date for the time report sync","format":"date","type":"null"}]},"from_date_engine":{"oneOf":[{"description":"Dynamic configuration for the from date. Should not be specified if from_date is set, and vice versa.","type":"object"},{"description":"Dynamic configuration for the from date. Should not be specified if from_date is set, and vice versa.","type":"null"}]},"to_date":{"oneOf":[{"description":"Explicit to date for the time report sync","format":"date","type":"string"},{"description":"Explicit to date for the time report sync","format":"date","type":"null"}]},"to_date_engine":{"oneOf":[{"description":"Dynamic configuration for the to date. Should not be specified if to_date is set, and vice versa.","type":"object"},{"description":"Dynamic configuration for the to date. Should not be specified if to_date is set, and vice versa.","type":"null"}]}}},{"type":"null"}]},"domain_mapping_id":{"description":"The parent domain mapping's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string"},"id":{"description":"The sync trigger's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string"},"last_sync_ended_at":{"oneOf":[{"description":"The last time the sync was completed. It is possible for this timestamp to be earlier than `last_sync_started_at`, which would indicate a failed sync","example":"2023-01-01T00:00:00Z","format":"date-time","type":"string"},{"description":"The last time the sync was completed. It is possible for this timestamp to be earlier than `last_sync_started_at`, which would indicate a failed sync","example":"2023-01-01T00:00:00Z","format":"date-time","type":"null"}]},"last_sync_started_at":{"oneOf":[{"description":"The last time the sync was started.","example":"2023-01-01T00:00:00Z","format":"date-time","type":"string"},{"description":"The last time the sync was started.","example":"2023-01-01T00:00:00Z","format":"date-time","type":"null"}]},"next_sync_at":{"oneOf":[{"description":"The next scheduled sync time. This is not an exact point in time as the sync will most likely be started shortly afterwards.","example":"2023-01-01T00:00:00Z","format":"date-time","type":"string"},{"description":"The next scheduled sync time. This is not an exact point in time as the sync will most likely be started shortly afterwards.","example":"2023-01-01T00:00:00Z","format":"date-time","type":"null"}]},"org_id":{"description":"The parent organization's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string"},"parent_id":{"oneOf":[{"description":"The parent trigger's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","type":"string"},{"description":"The parent trigger's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","type":"null"}]},"system_integration_id":{"description":"The parent system integration's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string"}},"required":["id","org_id","system_integration_id","domain_mapping_id"],"title":"SyncTrigger","type":"object"},"type":"null","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].sync_triggers","typeLabel":"SyncTrigger · object[] | null"},"updated_at":{"description":"Timestamp of when the domain mapping was last updated","example":"2021-06-01T12:00:00Z","format":"date-time","type":"string","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX].updated_at","typeLabel":"string\u003cdate-time>"}},"required":["id","org_id","source_system_integration_id","target_system_integration_id","from_domain","to_domain","enabled"],"title":"DomainMapping","type":"object","uniqueKey":"data.domain_mappings.oneOf.0.items.[INDEX]","typeLabel":"DomainMapping · object"},"type":"array","uniqueKey":"data.domain_mappings.oneOf.0","typeLabel":"DomainMapping · object[]"},{"description":"List of incoming domain mappings associated with this system integration. Not returned when updating.","items":{"description":"An object representing a domain mapping.","properties":{"all_conditions_must_apply":{"description":"Whether every condition must match (AND) rather than any one of them (OR). Has no effect when `conditions` is empty.","example":false,"nullable":false,"type":"boolean"},"conditions":{"oneOf":[{"description":"List of conditions associated with this domain mapping.","items":{"description":"A condition for filtering data.","properties":{"apply_on_actions":{"description":"List of actions the condition applies to","items":{"enum":["create","update"],"type":"string"},"nullable":false,"type":"array"},"condition":{"description":"V2 Graph Engine condition","type":"object"},"description":{"oneOf":[{"description":"A brief description of the condition","type":"string"},{"description":"A brief description of the condition","type":"null"}]},"domain":{"description":"The data domain","enum":["finance","employee_competence","competence","expense_transaction","salary_transaction","file_transfer","project","org_unit","customer","schedule","time_report","employee"],"example":"employee","title":"Domain","type":"string"},"enabled":{"default":true,"description":"Whether the condition is enabled","type":"boolean"},"id":{"description":"The condition's UUID.","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string"}},"required":["id","condition","domain","apply_on_actions","enabled"],"title":"Condition","type":"object"},"type":"array"},{"description":"List of conditions associated with this domain mapping.","items":{"description":"A condition for filtering data.","properties":{"apply_on_actions":{"description":"List of actions the condition applies to","items":{"enum":["create","update"],"type":"string"},"nullable":false,"type":"array"},"condition":{"description":"V2 Graph Engine condition","type":"object"},"description":{"oneOf":[{"description":"A brief description of the condition","type":"string"},{"description":"A brief description of the condition","type":"null"}]},"domain":{"description":"The data domain","enum":["finance","employee_competence","competence","expense_transaction","salary_transaction","file_transfer","project","org_unit","customer","schedule","time_report","employee"],"example":"employee","title":"Domain","type":"string"},"enabled":{"default":true,"description":"Whether the condition is enabled","type":"boolean"},"id":{"description":"The condition's UUID.","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string"}},"required":["id","condition","domain","apply_on_actions","enabled"],"title":"Condition","type":"object"},"type":"null"}]},"description":{"oneOf":[{"description":"Free-text description of the mapping.","example":"Employees from the HR system into payroll","type":"string"},{"description":"Free-text description of the mapping.","example":"Employees from the HR system into payroll","type":"null"}]},"enabled":{"description":"Whether the domain mapping is enabled","example":true,"nullable":false,"type":"boolean"},"from_domain":{"description":"The source domain for the mapping.","enum":["finance","employee_competence","competence","expense_transaction","salary_transaction","file_transfer","project","org_unit","customer","schedule","time_report","employee"],"example":"employee","title":"Domain","type":"string"},"id":{"description":"The sync trigger's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string"},"inserted_at":{"description":"Timestamp of when the domain mapping was created","example":"2021-06-01T12:00:00Z","format":"date-time","type":"string"},"mode":{"description":"`default` is a full read/write mapping. `update_existing_only` syncs updates onto existing Twine entities only — unmapped incoming entities are dropped and replication is refused.","enum":["update_existing_only","default"],"example":"default","nullable":false,"type":"string"},"org_id":{"description":"The parent organization's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string"},"source_system_integration_id":{"description":"The source system integration's UUID. ","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string"},"sync_triggers":{"oneOf":[{"description":"List of sync triggers associated with this domain mapping.","items":{"description":"An object representing a sync trigger in a domain mapping.","properties":{"cron_expression":{"oneOf":[{"description":"The cron expression for the scheduled trigger. If null, the trigger can only be run manually","example":"0 0 * * *","type":"string"},{"description":"The cron expression for the scheduled trigger. If null, the trigger can only be run manually","example":"0 0 * * *","type":"null"}]},"domain_configuration":{"oneOf":[{"type":"object","title":"SyncTriggerTimeReportSettings","description":"The domain-specific configuration for the sync trigger.","properties":{"domain":{"default":"time_report","description":"Must always be `time_report`","type":"string"},"from_date":{"oneOf":[{"description":"Explicit from date for the time report sync","format":"date","type":"string"},{"description":"Explicit from date for the time report sync","format":"date","type":"null"}]},"from_date_engine":{"oneOf":[{"description":"Dynamic configuration for the from date. Should not be specified if from_date is set, and vice versa.","type":"object"},{"description":"Dynamic configuration for the from date. Should not be specified if from_date is set, and vice versa.","type":"null"}]},"to_date":{"oneOf":[{"description":"Explicit to date for the time report sync","format":"date","type":"string"},{"description":"Explicit to date for the time report sync","format":"date","type":"null"}]},"to_date_engine":{"oneOf":[{"description":"Dynamic configuration for the to date. Should not be specified if to_date is set, and vice versa.","type":"object"},{"description":"Dynamic configuration for the to date. Should not be specified if to_date is set, and vice versa.","type":"null"}]}}},{"type":"null"}]},"domain_mapping_id":{"description":"The parent domain mapping's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string"},"id":{"description":"The sync trigger's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string"},"last_sync_ended_at":{"oneOf":[{"description":"The last time the sync was completed. It is possible for this timestamp to be earlier than `last_sync_started_at`, which would indicate a failed sync","example":"2023-01-01T00:00:00Z","format":"date-time","type":"string"},{"description":"The last time the sync was completed. It is possible for this timestamp to be earlier than `last_sync_started_at`, which would indicate a failed sync","example":"2023-01-01T00:00:00Z","format":"date-time","type":"null"}]},"last_sync_started_at":{"oneOf":[{"description":"The last time the sync was started.","example":"2023-01-01T00:00:00Z","format":"date-time","type":"string"},{"description":"The last time the sync was started.","example":"2023-01-01T00:00:00Z","format":"date-time","type":"null"}]},"next_sync_at":{"oneOf":[{"description":"The next scheduled sync time. This is not an exact point in time as the sync will most likely be started shortly afterwards.","example":"2023-01-01T00:00:00Z","format":"date-time","type":"string"},{"description":"The next scheduled sync time. This is not an exact point in time as the sync will most likely be started shortly afterwards.","example":"2023-01-01T00:00:00Z","format":"date-time","type":"null"}]},"org_id":{"description":"The parent organization's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string"},"parent_id":{"oneOf":[{"description":"The parent trigger's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","type":"string"},{"description":"The parent trigger's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","type":"null"}]},"system_integration_id":{"description":"The parent system integration's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string"}},"required":["id","org_id","system_integration_id","domain_mapping_id"],"title":"SyncTrigger","type":"object"},"type":"array"},{"description":"List of sync triggers associated with this domain mapping.","items":{"description":"An object representing a sync trigger in a domain mapping.","properties":{"cron_expression":{"oneOf":[{"description":"The cron expression for the scheduled trigger. If null, the trigger can only be run manually","example":"0 0 * * *","type":"string"},{"description":"The cron expression for the scheduled trigger. If null, the trigger can only be run manually","example":"0 0 * * *","type":"null"}]},"domain_configuration":{"oneOf":[{"type":"object","title":"SyncTriggerTimeReportSettings","description":"The domain-specific configuration for the sync trigger.","properties":{"domain":{"default":"time_report","description":"Must always be `time_report`","type":"string"},"from_date":{"oneOf":[{"description":"Explicit from date for the time report sync","format":"date","type":"string"},{"description":"Explicit from date for the time report sync","format":"date","type":"null"}]},"from_date_engine":{"oneOf":[{"description":"Dynamic configuration for the from date. Should not be specified if from_date is set, and vice versa.","type":"object"},{"description":"Dynamic configuration for the from date. Should not be specified if from_date is set, and vice versa.","type":"null"}]},"to_date":{"oneOf":[{"description":"Explicit to date for the time report sync","format":"date","type":"string"},{"description":"Explicit to date for the time report sync","format":"date","type":"null"}]},"to_date_engine":{"oneOf":[{"description":"Dynamic configuration for the to date. Should not be specified if to_date is set, and vice versa.","type":"object"},{"description":"Dynamic configuration for the to date. Should not be specified if to_date is set, and vice versa.","type":"null"}]}}},{"type":"null"}]},"domain_mapping_id":{"description":"The parent domain mapping's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string"},"id":{"description":"The sync trigger's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string"},"last_sync_ended_at":{"oneOf":[{"description":"The last time the sync was completed. It is possible for this timestamp to be earlier than `last_sync_started_at`, which would indicate a failed sync","example":"2023-01-01T00:00:00Z","format":"date-time","type":"string"},{"description":"The last time the sync was completed. It is possible for this timestamp to be earlier than `last_sync_started_at`, which would indicate a failed sync","example":"2023-01-01T00:00:00Z","format":"date-time","type":"null"}]},"last_sync_started_at":{"oneOf":[{"description":"The last time the sync was started.","example":"2023-01-01T00:00:00Z","format":"date-time","type":"string"},{"description":"The last time the sync was started.","example":"2023-01-01T00:00:00Z","format":"date-time","type":"null"}]},"next_sync_at":{"oneOf":[{"description":"The next scheduled sync time. This is not an exact point in time as the sync will most likely be started shortly afterwards.","example":"2023-01-01T00:00:00Z","format":"date-time","type":"string"},{"description":"The next scheduled sync time. This is not an exact point in time as the sync will most likely be started shortly afterwards.","example":"2023-01-01T00:00:00Z","format":"date-time","type":"null"}]},"org_id":{"description":"The parent organization's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string"},"parent_id":{"oneOf":[{"description":"The parent trigger's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","type":"string"},{"description":"The parent trigger's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","type":"null"}]},"system_integration_id":{"description":"The parent system integration's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string"}},"required":["id","org_id","system_integration_id","domain_mapping_id"],"title":"SyncTrigger","type":"object"},"type":"null"}]},"target_system_integration_id":{"description":"The source system integration's UUID. ","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string"},"to_domain":{"description":"The target domain for the mapping.","enum":["finance","employee_competence","competence","expense_transaction","salary_transaction","file_transfer","project","org_unit","customer","schedule","time_report","employee"],"example":"employee","title":"Domain","type":"string"},"updated_at":{"description":"Timestamp of when the domain mapping was last updated","example":"2021-06-01T12:00:00Z","format":"date-time","type":"string"}},"required":["id","org_id","source_system_integration_id","target_system_integration_id","from_domain","to_domain","enabled"],"title":"DomainMapping","type":"object"},"type":"null","uniqueKey":"data.domain_mappings.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.domain_mappings","typeLabel":"DomainMapping · object[] | null"},"external_org_id":{"oneOf":[{"description":"The external system's internal ID for this customer, where applicable.","type":"string","uniqueKey":"data.external_org_id.oneOf.0","typeLabel":"string"},{"description":"The external system's internal ID for this customer, where applicable.","type":"null","uniqueKey":"data.external_org_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.external_org_id","typeLabel":"string | null"},"inserted_at":{"description":"Timestamp of when the system integration was created","example":"2021-06-01T12:00:00Z","format":"date-time","type":"string","uniqueKey":"data.inserted_at","typeLabel":"string\u003cdate-time>"},"property_mappings":{"oneOf":[{"description":"List of property mappings associated with this system integration. Not returned when updating.","items":{"description":"An object representing a property mapping in Twine.","properties":{"common_domain":{"description":"The common/Twine domain","enum":["finance","employee_competence","competence","expense_transaction","salary_transaction","file_transfer","project","org_unit","customer","schedule","time_report","employee"],"example":"employee","nullable":false,"title":"Domain","type":"string","isRequired":true,"uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].common_domain","typeLabel":"enum\u003cstring>"},"common_path":{"description":"The common path associated with the property mapping.","example":["salary_amount"],"items":{"description":"A segment of the common path","example":"salary_amount","nullable":false,"type":"string","uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].common_path.items.[INDEX]","typeLabel":"string"},"nullable":false,"type":"array","isRequired":true,"uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].common_path","typeLabel":"string[]"},"id":{"description":"The property mapping's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"org_id":{"description":"The organization ID associated with the property mapping","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].org_id","typeLabel":"string\u003cuuid>"},"system_domain":{"description":"The system domain","enum":["finance","employee_competence","competence","expense_transaction","salary_transaction","file_transfer","project","org_unit","customer","schedule","time_report","employee"],"example":"employee","nullable":false,"title":"Domain","type":"string","isRequired":true,"uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].system_domain","typeLabel":"enum\u003cstring>"},"system_integration_id":{"description":"The system integration ID associated with the property mapping","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].system_integration_id","typeLabel":"string\u003cuuid>"},"system_path":{"description":"The system path associated with the property mapping. The validity of this value depends on the underlying system and system domain","example":["salaries","[]","amount"],"items":{"description":"A segment of the system path","example":"salaries","nullable":false,"type":"string","uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].system_path.items.[INDEX]","typeLabel":"string"},"nullable":false,"type":"array","isRequired":true,"uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].system_path","typeLabel":"string[]"},"converters":{"oneOf":[{"description":"The list of converters associated with the property mapping. The order of converters matters, as they are applied sequentially.","items":{"description":"An object representing a property mapping converter in Twine.","properties":{"converter":{"oneOf":[{"description":"The logical name of the converter. The validity of this value depends on the system being used. TODO: Add direction to endpoint for fetching all available converters.","example":"string_to_integer","type":"string","uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].converters.oneOf.0.items.[INDEX].converter.oneOf.0","typeLabel":"string"},{"description":"The logical name of the converter. The validity of this value depends on the system being used. TODO: Add direction to endpoint for fetching all available converters.","example":"string_to_integer","type":"null","uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].converters.oneOf.0.items.[INDEX].converter.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].converters.oneOf.0.items.[INDEX].converter","typeLabel":"string | null"},"pod_id":{"oneOf":[{"description":"The ID of the Graph Engine pod associated with the converter. Cannot be set if `converter` is defined","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","type":"string","uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].converters.oneOf.0.items.[INDEX].pod_id.oneOf.0","typeLabel":"string"},{"description":"The ID of the Graph Engine pod associated with the converter. Cannot be set if `converter` is defined","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","type":"null","uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].converters.oneOf.0.items.[INDEX].pod_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].converters.oneOf.0.items.[INDEX].pod_id","typeLabel":"string | null"}},"title":"PropertyMappingConverter","type":"object","uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].converters.oneOf.0.items.[INDEX]","typeLabel":"PropertyMappingConverter · object"},"type":"array","uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].converters.oneOf.0","typeLabel":"PropertyMappingConverter · object[]"},{"description":"The list of converters associated with the property mapping. The order of converters matters, as they are applied sequentially.","items":{"description":"An object representing a property mapping converter in Twine.","properties":{"converter":{"oneOf":[{"description":"The logical name of the converter. The validity of this value depends on the system being used. TODO: Add direction to endpoint for fetching all available converters.","example":"string_to_integer","type":"string"},{"description":"The logical name of the converter. The validity of this value depends on the system being used. TODO: Add direction to endpoint for fetching all available converters.","example":"string_to_integer","type":"null"}]},"pod_id":{"oneOf":[{"description":"The ID of the Graph Engine pod associated with the converter. Cannot be set if `converter` is defined","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","type":"string"},{"description":"The ID of the Graph Engine pod associated with the converter. Cannot be set if `converter` is defined","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","type":"null"}]}},"title":"PropertyMappingConverter","type":"object"},"type":"null","uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].converters.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].converters","typeLabel":"PropertyMappingConverter · object[] | null"},"enabled":{"description":"Whether the property mapping is enabled","example":true,"nullable":false,"type":"boolean","uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].enabled","typeLabel":"boolean"},"engine":{"oneOf":[{"type":"object","title":"PropertyMappingEngineV2","description":"The engine configuration for the property mapping. If set, this takes precedence over converters.","required":["engine","domain","version"],"properties":{"domain":{"description":"The data domain","enum":["finance","employee_competence","competence","expense_transaction","salary_transaction","file_transfer","project","org_unit","customer","schedule","time_report","employee"],"example":"employee","title":"Domain","type":"string","isRequired":true,"uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].engine.oneOf.0.domain","typeLabel":"enum\u003cstring>"},"engine":{"description":"The JSON representation of the engine configuration.","nullable":false,"type":"object","isRequired":true,"uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].engine.oneOf.0.engine","typeLabel":"object"},"version":{"default":"2","description":"The version of the property mapping engine.","example":"2","nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].engine.oneOf.0.version","typeLabel":"string"},"description":{"oneOf":[{"description":"A description of the property mapping engine.","example":"This engine maps properties from one format to another.","type":"string","uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].engine.oneOf.0.description.oneOf.0","typeLabel":"string"},{"description":"A description of the property mapping engine.","example":"This engine maps properties from one format to another.","type":"null","uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].engine.oneOf.0.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].engine.oneOf.0.description","typeLabel":"string | null"}},"uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].engine.oneOf.0","typeLabel":"PropertyMappingEngineV2 · object"},{"type":"null","uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].engine.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].engine","typeLabel":"PropertyMappingEngineV2 · object | null"},"reference_domain":{"oneOf":[{"description":"The reference domain","enum":["finance","employee_competence","competence","expense_transaction","salary_transaction","file_transfer","project","org_unit","customer","schedule","time_report","employee"],"example":"employee","title":"Domain","type":"string","uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].reference_domain.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"The reference domain","enum":["finance","employee_competence","competence","expense_transaction","salary_transaction","file_transfer","project","org_unit","customer","schedule","time_report","employee"],"example":"employee","title":"Domain","type":"null","uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].reference_domain.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].reference_domain","typeLabel":"enum\u003cstring> | null"},"version":{"description":"The version of the property mapping. The latest version is 2.","example":2,"nullable":false,"type":"integer","uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX].version","typeLabel":"integer"}},"required":["id","org_id","system_integration_id","system_domain","common_domain","system_path","common_path"],"title":"PropertyMapping","type":"object","uniqueKey":"data.property_mappings.oneOf.0.items.[INDEX]","typeLabel":"PropertyMapping · object"},"type":"array","uniqueKey":"data.property_mappings.oneOf.0","typeLabel":"PropertyMapping · object[]"},{"description":"List of property mappings associated with this system integration. Not returned when updating.","items":{"description":"An object representing a property mapping in Twine.","properties":{"common_domain":{"description":"The common/Twine domain","enum":["finance","employee_competence","competence","expense_transaction","salary_transaction","file_transfer","project","org_unit","customer","schedule","time_report","employee"],"example":"employee","nullable":false,"title":"Domain","type":"string"},"common_path":{"description":"The common path associated with the property mapping.","example":["salary_amount"],"items":{"description":"A segment of the common path","example":"salary_amount","nullable":false,"type":"string"},"nullable":false,"type":"array"},"converters":{"oneOf":[{"description":"The list of converters associated with the property mapping. The order of converters matters, as they are applied sequentially.","items":{"description":"An object representing a property mapping converter in Twine.","properties":{"converter":{"oneOf":[{"description":"The logical name of the converter. The validity of this value depends on the system being used. TODO: Add direction to endpoint for fetching all available converters.","example":"string_to_integer","type":"string"},{"description":"The logical name of the converter. The validity of this value depends on the system being used. TODO: Add direction to endpoint for fetching all available converters.","example":"string_to_integer","type":"null"}]},"pod_id":{"oneOf":[{"description":"The ID of the Graph Engine pod associated with the converter. Cannot be set if `converter` is defined","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","type":"string"},{"description":"The ID of the Graph Engine pod associated with the converter. Cannot be set if `converter` is defined","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","type":"null"}]}},"title":"PropertyMappingConverter","type":"object"},"type":"array"},{"description":"The list of converters associated with the property mapping. The order of converters matters, as they are applied sequentially.","items":{"description":"An object representing a property mapping converter in Twine.","properties":{"converter":{"oneOf":[{"description":"The logical name of the converter. The validity of this value depends on the system being used. TODO: Add direction to endpoint for fetching all available converters.","example":"string_to_integer","type":"string"},{"description":"The logical name of the converter. The validity of this value depends on the system being used. TODO: Add direction to endpoint for fetching all available converters.","example":"string_to_integer","type":"null"}]},"pod_id":{"oneOf":[{"description":"The ID of the Graph Engine pod associated with the converter. Cannot be set if `converter` is defined","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","type":"string"},{"description":"The ID of the Graph Engine pod associated with the converter. Cannot be set if `converter` is defined","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","type":"null"}]}},"title":"PropertyMappingConverter","type":"object"},"type":"null"}]},"enabled":{"description":"Whether the property mapping is enabled","example":true,"nullable":false,"type":"boolean"},"engine":{"oneOf":[{"type":"object","title":"PropertyMappingEngineV2","description":"The engine configuration for the property mapping. If set, this takes precedence over converters.","required":["engine","domain","version"],"properties":{"description":{"oneOf":[{"description":"A description of the property mapping engine.","example":"This engine maps properties from one format to another.","type":"string"},{"description":"A description of the property mapping engine.","example":"This engine maps properties from one format to another.","type":"null"}]},"domain":{"description":"The data domain","enum":["finance","employee_competence","competence","expense_transaction","salary_transaction","file_transfer","project","org_unit","customer","schedule","time_report","employee"],"example":"employee","title":"Domain","type":"string"},"engine":{"description":"The JSON representation of the engine configuration.","nullable":false,"type":"object"},"version":{"default":"2","description":"The version of the property mapping engine.","example":"2","nullable":false,"type":"string"}}},{"type":"null"}]},"id":{"description":"The property mapping's UUID","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string"},"org_id":{"description":"The organization ID associated with the property mapping","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string"},"reference_domain":{"oneOf":[{"description":"The reference domain","enum":["finance","employee_competence","competence","expense_transaction","salary_transaction","file_transfer","project","org_unit","customer","schedule","time_report","employee"],"example":"employee","title":"Domain","type":"string"},{"description":"The reference domain","enum":["finance","employee_competence","competence","expense_transaction","salary_transaction","file_transfer","project","org_unit","customer","schedule","time_report","employee"],"example":"employee","title":"Domain","type":"null"}]},"system_domain":{"description":"The system domain","enum":["finance","employee_competence","competence","expense_transaction","salary_transaction","file_transfer","project","org_unit","customer","schedule","time_report","employee"],"example":"employee","nullable":false,"title":"Domain","type":"string"},"system_integration_id":{"description":"The system integration ID associated with the property mapping","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string"},"system_path":{"description":"The system path associated with the property mapping. The validity of this value depends on the underlying system and system domain","example":["salaries","[]","amount"],"items":{"description":"A segment of the system path","example":"salaries","nullable":false,"type":"string"},"nullable":false,"type":"array"},"version":{"description":"The version of the property mapping. The latest version is 2.","example":2,"nullable":false,"type":"integer"}},"required":["id","org_id","system_integration_id","system_domain","common_domain","system_path","common_path"],"title":"PropertyMapping","type":"object"},"type":"null","uniqueKey":"data.property_mappings.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.property_mappings","typeLabel":"PropertyMapping · object[] | null"},"system":{"description":"An object representing an integrated system in Twine.","properties":{"id":{"description":"The system's UUID. This identifier is persistent across all integrations, and should be regarded as well-known.","example":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","format":"uuid","nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.system.id","typeLabel":"string\u003cuuid>"},"kind":{"description":"System kind","enum":["other","expenses","time_tracking","file_area","iam","bi","accounting","payroll","hris","ats","hub"],"title":"SystemKind","type":"string","isRequired":true,"uniqueKey":"data.system.kind","typeLabel":"enum\u003cstring>"},"name":{"description":"The name of the system","example":"Evity HR","nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.system.name","typeLabel":"string"},"slug":{"description":"System slug","enum":["twine","twenty_four_seven","timeplan","time_recorder","tidsbanken","teamtailor","spreadsheet","spiris","sp_payroll","skovik","simployer_classic","sftp_server","sftp","scim","s3","quinyx","personio","people_core","pe_accounting","payzlip","paxml","nmbrs","medvind_wfm","manual_upload","manual_download","looker","kontek","kleer","json_file","huma_hr","hogia_open_hr","hogia_file","hibob","heartpace","hailey_hr","fortnox","flex_hrm","evity","entra_id","catalyst_one","caspeco","bamboo_hr","alexis_hr","agda_ps","agda_file","aboard"],"title":"SystemSlug","type":"string","isRequired":true,"uniqueKey":"data.system.slug","typeLabel":"enum\u003cstring>"},"description":{"oneOf":[{"description":"Public-facing prose describing what the integration does (Markdown). `null` when the system has no authored description.","example":"The Spreadsheet integration lets Twine exchange employee data as spreadsheet files...","type":"string","uniqueKey":"data.system.description.oneOf.0","typeLabel":"string"},{"description":"Public-facing prose describing what the integration does (Markdown). `null` when the system has no authored description.","example":"The Spreadsheet integration lets Twine exchange employee data as spreadsheet files...","type":"null","uniqueKey":"data.system.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system.description","typeLabel":"string | null"},"domains":{"oneOf":[{"description":"The data domains this system supports and in which direction. `null` when the system has not yet declared its domain capabilities.","example":[{"capability":"read","domain":"employee"},{"capability":"write","domain":"time_report"}],"items":{"type":"any","uniqueKey":"data.system.domains.oneOf.0.items.[INDEX]","typeLabel":"any"},"type":"array","uniqueKey":"data.system.domains.oneOf.0","typeLabel":"any[]"},{"description":"The data domains this system supports and in which direction. `null` when the system has not yet declared its domain capabilities.","example":[{"capability":"read","domain":"employee"},{"capability":"write","domain":"time_report"}],"items":{"type":"any"},"type":"null","uniqueKey":"data.system.domains.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system.domains","typeLabel":"any[] | null"},"logo_url":{"oneOf":[{"description":"URL to the system's logo image","example":"https://example.com/logos/system-logo.png","format":"uri","type":"string","uniqueKey":"data.system.logo_url.oneOf.0","typeLabel":"string\u003curi>"},{"description":"URL to the system's logo image","example":"https://example.com/logos/system-logo.png","format":"uri","type":"null","uniqueKey":"data.system.logo_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system.logo_url","typeLabel":"string\u003curi> | null"},"status":{"oneOf":[{"description":"Lifecycle status: `available` systems can be integrated today, `planned` systems are in the catalog but not yet implemented, `deprecated` systems still operate but are closed to new integrations. Always set on the systems catalog endpoint; `null` on embedded system objects.","enum":["available","planned","deprecated"],"example":"available","type":"string","uniqueKey":"data.system.status.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"Lifecycle status: `available` systems can be integrated today, `planned` systems are in the catalog but not yet implemented, `deprecated` systems still operate but are closed to new integrations. Always set on the systems catalog endpoint; `null` on embedded system objects.","enum":["available","planned","deprecated"],"example":"available","type":"null","uniqueKey":"data.system.status.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system.status","typeLabel":"enum\u003cstring> | null"}},"required":["id","name","slug","kind"],"title":"System","type":"object","uniqueKey":"data.system","typeLabel":"System · object"},"system_custom":{"oneOf":[{"type":"object","title":"AgdaFileSystemCustom","description":"Custom configuration for Agda File system integrations.","required":["slug"],"properties":{"slug":{"enum":["agda_file"],"nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.system_custom.oneOf.0.slug","typeLabel":"enum\u003cstring>"},"change_lookback_enabled":{"description":"When false (the default) every employee is sent in full. When true the file is limited to employees with a recorded change inside the lookback window.","nullable":false,"type":"boolean","uniqueKey":"data.system_custom.oneOf.0.change_lookback_enabled","typeLabel":"boolean"},"change_lookback_unit":{"oneOf":[{"description":"Unit of the lookback window.","enum":["day","week","month","year"],"type":"string","uniqueKey":"data.system_custom.oneOf.0.change_lookback_unit.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"Unit of the lookback window.","enum":["day","week","month","year"],"type":"null","uniqueKey":"data.system_custom.oneOf.0.change_lookback_unit.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.0.change_lookback_unit","typeLabel":"enum\u003cstring> | null"},"change_lookback_value":{"oneOf":[{"description":"Size of the lookback window. Must be at least 1 while the window is enabled.","minimum":1,"type":"integer","uniqueKey":"data.system_custom.oneOf.0.change_lookback_value.oneOf.0","typeLabel":"integer"},{"description":"Size of the lookback window. Must be at least 1 while the window is enabled.","minimum":1,"type":"null","uniqueKey":"data.system_custom.oneOf.0.change_lookback_value.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.0.change_lookback_value","typeLabel":"integer | null"},"company_no":{"oneOf":[{"description":"Agda's FTG_NR. Must match an existing company in the Agda database this integration writes to.","type":"string","uniqueKey":"data.system_custom.oneOf.0.company_no.oneOf.0","typeLabel":"string"},{"description":"Agda's FTG_NR. Must match an existing company in the Agda database this integration writes to.","type":"null","uniqueKey":"data.system_custom.oneOf.0.company_no.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.0.company_no","typeLabel":"string | null"},"file_name_prefix":{"oneOf":[{"description":"Optional prefix prepended to the exported file name, which is otherwise twine_agda_export_\u003ctimestamp>.xml.","pattern":"^[A-Za-z0-9._-]+$","type":"string","uniqueKey":"data.system_custom.oneOf.0.file_name_prefix.oneOf.0","typeLabel":"string"},{"description":"Optional prefix prepended to the exported file name, which is otherwise twine_agda_export_\u003ctimestamp>.xml.","pattern":"^[A-Za-z0-9._-]+$","type":"null","uniqueKey":"data.system_custom.oneOf.0.file_name_prefix.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.0.file_name_prefix","typeLabel":"string | null"},"salary_paycodes":{"oneOf":[{"description":"LONEART values that form one mutually exclusive salary timeline, so a move from an hourly rate to a monthly salary closes the old one. Empty means each LONEART is only closed out against itself.","items":{"type":"string","uniqueKey":"data.system_custom.oneOf.0.salary_paycodes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"data.system_custom.oneOf.0.salary_paycodes.oneOf.0","typeLabel":"string[]"},{"description":"LONEART values that form one mutually exclusive salary timeline, so a move from an hourly rate to a monthly salary closes the old one. Empty means each LONEART is only closed out against itself.","items":{"type":"string"},"type":"null","uniqueKey":"data.system_custom.oneOf.0.salary_paycodes.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.0.salary_paycodes","typeLabel":"string[] | null"}},"uniqueKey":"data.system_custom.oneOf.0","typeLabel":"AgdaFileSystemCustom · object"},{"type":"object","title":"AgdaPsSystemCustom","description":"Custom configuration for Agda PS system integrations.","properties":{"auth_scheme":{"oneOf":[{"description":"The authentication scheme to use for this Agda PS integration.","enum":["basic","bearer"],"type":"string","uniqueKey":"data.system_custom.oneOf.1.auth_scheme.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"The authentication scheme to use for this Agda PS integration.","enum":["basic","bearer"],"type":"null","uniqueKey":"data.system_custom.oneOf.1.auth_scheme.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.1.auth_scheme","typeLabel":"enum\u003cstring> | null"},"slug":{"enum":["agda_ps"],"nullable":false,"type":"string","uniqueKey":"data.system_custom.oneOf.1.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"data.system_custom.oneOf.1","typeLabel":"AgdaPsSystemCustom · object"},{"type":"object","title":"BambooHrSystemCustom","description":"Custom configuration for BambooHR system integrations.","properties":{"slug":{"enum":["bamboo_hr"],"nullable":false,"type":"string","uniqueKey":"data.system_custom.oneOf.2.slug","typeLabel":"enum\u003cstring>"},"subdomain":{"oneOf":[{"description":"The subdomain for the BambooHR account.","type":"string","uniqueKey":"data.system_custom.oneOf.2.subdomain.oneOf.0","typeLabel":"string"},{"description":"The subdomain for the BambooHR account.","type":"null","uniqueKey":"data.system_custom.oneOf.2.subdomain.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.2.subdomain","typeLabel":"string | null"}},"uniqueKey":"data.system_custom.oneOf.2","typeLabel":"BambooHrSystemCustom · object"},{"type":"object","title":"CaspecoSystemCustom","description":"Custom configuration for Caspeco system integrations. The access token goes in `api_key` and the Caspeco database name (the `system` header, one per company) in `external_org_id`.","properties":{"slug":{"enum":["caspeco"],"nullable":false,"type":"string","uniqueKey":"data.system_custom.oneOf.3.slug","typeLabel":"enum\u003cstring>"},"use_sandbox":{"oneOf":[{"default":false,"description":"Send requests to the sandbox host (rms.dev.caspeco.net) instead of production.","type":"boolean","uniqueKey":"data.system_custom.oneOf.3.use_sandbox.oneOf.0","typeLabel":"boolean"},{"default":false,"description":"Send requests to the sandbox host (rms.dev.caspeco.net) instead of production.","type":"null","uniqueKey":"data.system_custom.oneOf.3.use_sandbox.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.3.use_sandbox","typeLabel":"boolean | null"}},"uniqueKey":"data.system_custom.oneOf.3","typeLabel":"CaspecoSystemCustom · object"},{"type":"object","title":"SpreadsheetSystemCustom","description":"Custom configuration for Spreadsheet system integrations.","properties":{"column_order_type":{"description":"The naming scheme used in the XLSX","enum":["a1","r1c1"],"type":"string","uniqueKey":"data.system_custom.oneOf.4.column_order_type","typeLabel":"enum\u003cstring>"},"main_sheet_id":{"oneOf":[{"description":"The `id` of the sheet holding one row per employee; other sheets attach to it through their link column. Left null, the first sheet that is neither ignored nor multirow is used.","type":"string","uniqueKey":"data.system_custom.oneOf.4.main_sheet_id.oneOf.0","typeLabel":"string"},{"description":"The `id` of the sheet holding one row per employee; other sheets attach to it through their link column. Left null, the first sheet that is neither ignored nor multirow is used.","type":"null","uniqueKey":"data.system_custom.oneOf.4.main_sheet_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.4.main_sheet_id","typeLabel":"string | null"},"quote_char":{"default":"\"","description":"The character used to quote values in the CSV","type":"string","uniqueKey":"data.system_custom.oneOf.4.quote_char","typeLabel":"string"},"separator":{"default":",","description":"The character used to separate values in the CSV","type":"string","uniqueKey":"data.system_custom.oneOf.4.separator","typeLabel":"string"},"sheets":{"description":"The sheets to process in the spreadsheet file (CSV/XLSX/ODS). For a CSV file there should only be 1 sheet.","items":{"description":"Custom configuration for Spreadsheet system integrations - Sheet.","properties":{"column_names":{"oneOf":[{"description":"The names of the columns to include in the integration. This is not required for the functionality, but can be used to provide better context in the UI.","items":{"type":"string","uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].column_names.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].column_names.oneOf.0","typeLabel":"string[]"},{"description":"The names of the columns to include in the integration. This is not required for the functionality, but can be used to provide better context in the UI.","items":{"type":"string"},"type":"null","uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].column_names.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].column_names","typeLabel":"string[] | null"},"end_date_column_index":{"oneOf":[{"description":"Index of the column whose value becomes the end-date (exclusive) for every DatedProperty extracted from this row.","type":"integer","uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].end_date_column_index.oneOf.0","typeLabel":"integer"},{"description":"Index of the column whose value becomes the end-date (exclusive) for every DatedProperty extracted from this row.","type":"null","uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].end_date_column_index.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].end_date_column_index","typeLabel":"integer | null"},"exclude_row_indexes":{"oneOf":[{"default":[0],"description":"The indexes of the rows to exclude from processing","items":{"type":"integer","uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].exclude_row_indexes.oneOf.0.items.[INDEX]","typeLabel":"integer"},"type":"array","uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].exclude_row_indexes.oneOf.0","typeLabel":"integer[]"},{"default":[0],"description":"The indexes of the rows to exclude from processing","items":{"type":"integer"},"type":"null","uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].exclude_row_indexes.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].exclude_row_indexes","typeLabel":"integer[] | null"},"id":{"oneOf":[{"description":"Stable identifier for the sheet, referenced by `main_sheet_id`. Send back the id you read for each sheet: a `sheets` write that omits ids replaces the sheets, which clears their ids and any `main_sheet_id` pointing at one.","type":"string","uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].id.oneOf.0","typeLabel":"string"},{"description":"Stable identifier for the sheet, referenced by `main_sheet_id`. Send back the id you read for each sheet: a `sheets` write that omits ids replaces the sheets, which clears their ids and any `main_sheet_id` pointing at one.","type":"null","uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].id","typeLabel":"string | null"},"id_column_index":{"oneOf":[{"description":"Index of the column whose value becomes the `id` on every DatedProperty extracted from this row. Use to differentiate parallel value histories (e.g. salary type) within a multirow sheet.","type":"integer","uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].id_column_index.oneOf.0","typeLabel":"integer"},{"description":"Index of the column whose value becomes the `id` on every DatedProperty extracted from this row. Use to differentiate parallel value histories (e.g. salary type) within a multirow sheet.","type":"null","uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].id_column_index.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].id_column_index","typeLabel":"integer | null"},"ignore":{"oneOf":[{"description":"Whether to ignore this sheet","type":"boolean","uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].ignore.oneOf.0","typeLabel":"boolean"},{"description":"Whether to ignore this sheet","type":"null","uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].ignore.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].ignore","typeLabel":"boolean | null"},"link_column_index":{"oneOf":[{"description":"The index of the column that links multiple rows to the same entity. Required if multirows is true.","type":"integer","uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].link_column_index.oneOf.0","typeLabel":"integer"},{"description":"The index of the column that links multiple rows to the same entity. Required if multirows is true.","type":"null","uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].link_column_index.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].link_column_index","typeLabel":"integer | null"},"multirows":{"oneOf":[{"description":"If true, indicated that entities can span multiple rows. Should be specified together with link_column_index.","type":"boolean","uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].multirows.oneOf.0","typeLabel":"boolean"},{"description":"If true, indicated that entities can span multiple rows. Should be specified together with link_column_index.","type":"null","uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].multirows.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].multirows","typeLabel":"boolean | null"},"name":{"oneOf":[{"description":"The name of the sheet","type":"string","uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].name.oneOf.0","typeLabel":"string"},{"description":"The name of the sheet","type":"null","uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].name.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].name","typeLabel":"string | null"},"nr_of_columns":{"oneOf":[{"description":"The number of columns to read from the sheet","type":"integer","uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].nr_of_columns.oneOf.0","typeLabel":"integer"},{"description":"The number of columns to read from the sheet","type":"null","uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].nr_of_columns.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].nr_of_columns","typeLabel":"integer | null"},"start_date_column_index":{"oneOf":[{"description":"Index of the column whose value becomes `valid_from` on every DatedProperty extracted from this row.","type":"integer","uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].start_date_column_index.oneOf.0","typeLabel":"integer"},{"description":"Index of the column whose value becomes `valid_from` on every DatedProperty extracted from this row.","type":"null","uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].start_date_column_index.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX].start_date_column_index","typeLabel":"integer | null"}},"title":"SpreadsheetCustomSheet","type":"object","uniqueKey":"data.system_custom.oneOf.4.sheets.items.[INDEX]","typeLabel":"SpreadsheetCustomSheet · object"},"type":"array","uniqueKey":"data.system_custom.oneOf.4.sheets","typeLabel":"SpreadsheetCustomSheet · object[]"},"slug":{"enum":["spreadsheet"],"nullable":false,"type":"string","uniqueKey":"data.system_custom.oneOf.4.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"data.system_custom.oneOf.4","typeLabel":"SpreadsheetSystemCustom · object"},{"type":"object","title":"EntraIdSystemCustom","description":"Custom configuration for EntraID system integrations.","properties":{"application_id":{"oneOf":[{"description":"The application ID for the EntraID integration. This is either the ID of a customer-defined application or the ID of a customer-specific application hosted by Twine","type":"string","uniqueKey":"data.system_custom.oneOf.5.application_id.oneOf.0","typeLabel":"string"},{"description":"The application ID for the EntraID integration. This is either the ID of a customer-defined application or the ID of a customer-specific application hosted by Twine","type":"null","uniqueKey":"data.system_custom.oneOf.5.application_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.5.application_id","typeLabel":"string | null"},"application_permissions":{"oneOf":[{"description":"The permissions required in the Entra Application.","items":{"type":"string","uniqueKey":"data.system_custom.oneOf.5.application_permissions.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"data.system_custom.oneOf.5.application_permissions.oneOf.0","typeLabel":"string[]"},{"description":"The permissions required in the Entra Application.","items":{"type":"string"},"type":"null","uniqueKey":"data.system_custom.oneOf.5.application_permissions.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.5.application_permissions","typeLabel":"string[] | null"},"customer_defined_application":{"oneOf":[{"description":"Whether to enable API v2 for the EvityHR account.","type":"boolean","uniqueKey":"data.system_custom.oneOf.5.customer_defined_application.oneOf.0","typeLabel":"boolean"},{"description":"Whether to enable API v2 for the EvityHR account.","type":"null","uniqueKey":"data.system_custom.oneOf.5.customer_defined_application.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.5.customer_defined_application","typeLabel":"boolean | null"},"manual_directory_extension_attributes":{"oneOf":[{"description":"Manually specified directory extension attributes for the EntraID integration. This is sometimes needed when the Graph API does not return these attributes automatically, even though they exist in the customer's directory.","items":{"type":"string","uniqueKey":"data.system_custom.oneOf.5.manual_directory_extension_attributes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"data.system_custom.oneOf.5.manual_directory_extension_attributes.oneOf.0","typeLabel":"string[]"},{"description":"Manually specified directory extension attributes for the EntraID integration. This is sometimes needed when the Graph API does not return these attributes automatically, even though they exist in the customer's directory.","items":{"type":"string"},"type":"null","uniqueKey":"data.system_custom.oneOf.5.manual_directory_extension_attributes.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.5.manual_directory_extension_attributes","typeLabel":"string[] | null"},"secret_rotation_days":{"oneOf":[{"description":"The number of days before which the secret should be rotated. Note: The secret will likely be rotated before this time. Has no effect if `customer_defined_application` is false.","type":"integer","uniqueKey":"data.system_custom.oneOf.5.secret_rotation_days.oneOf.0","typeLabel":"integer"},{"description":"The number of days before which the secret should be rotated. Note: The secret will likely be rotated before this time. Has no effect if `customer_defined_application` is false.","type":"null","uniqueKey":"data.system_custom.oneOf.5.secret_rotation_days.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.5.secret_rotation_days","typeLabel":"integer | null"},"slug":{"enum":["entra_id"],"nullable":false,"type":"string","uniqueKey":"data.system_custom.oneOf.5.slug","typeLabel":"enum\u003cstring>"},"tenant_id":{"oneOf":[{"description":"The tenant ID for the EntraID integration. Note: This is the customer's tenant ID.","type":"string","uniqueKey":"data.system_custom.oneOf.5.tenant_id.oneOf.0","typeLabel":"string"},{"description":"The tenant ID for the EntraID integration. Note: This is the customer's tenant ID.","type":"null","uniqueKey":"data.system_custom.oneOf.5.tenant_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.5.tenant_id","typeLabel":"string | null"}},"uniqueKey":"data.system_custom.oneOf.5","typeLabel":"EntraIdSystemCustom · object"},{"type":"object","title":"EvityHrSystemCustom","description":"Custom configuration for EvityHR system integrations.","properties":{"enable_api_v2":{"oneOf":[{"description":"Whether to enable API v2 for the EvityHR account.","type":"boolean","uniqueKey":"data.system_custom.oneOf.6.enable_api_v2.oneOf.0","typeLabel":"boolean"},{"description":"Whether to enable API v2 for the EvityHR account.","type":"null","uniqueKey":"data.system_custom.oneOf.6.enable_api_v2.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.6.enable_api_v2","typeLabel":"boolean | null"},"slug":{"enum":["evity"],"nullable":false,"type":"string","uniqueKey":"data.system_custom.oneOf.6.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"data.system_custom.oneOf.6","typeLabel":"EvityHrSystemCustom · object"},{"type":"object","title":"FlexHrmSystemCustom","description":"Custom configuration for FlexHrm system integrations.","properties":{"company_nr":{"oneOf":[{"description":"The company number for customer tenant. Reads like a regular number like 12345.","type":"string","uniqueKey":"data.system_custom.oneOf.7.company_nr.oneOf.0","typeLabel":"string"},{"description":"The company number for customer tenant. Reads like a regular number like 12345.","type":"null","uniqueKey":"data.system_custom.oneOf.7.company_nr.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.7.company_nr","typeLabel":"string | null"},"instance_id":{"oneOf":[{"description":"The instance UUID for customer tenant. Twine will automatically retrieve this value.","type":"string","uniqueKey":"data.system_custom.oneOf.7.instance_id.oneOf.0","typeLabel":"string"},{"description":"The instance UUID for customer tenant. Twine will automatically retrieve this value.","type":"null","uniqueKey":"data.system_custom.oneOf.7.instance_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.7.instance_id","typeLabel":"string | null"},"instance_nr":{"oneOf":[{"description":"The instance number for customer tenant. Reads like a regular number like 12345.","type":"string","uniqueKey":"data.system_custom.oneOf.7.instance_nr.oneOf.0","typeLabel":"string"},{"description":"The instance number for customer tenant. Reads like a regular number like 12345.","type":"null","uniqueKey":"data.system_custom.oneOf.7.instance_nr.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.7.instance_nr","typeLabel":"string | null"},"probation_employment_type_id":{"oneOf":[{"description":"The probation employment type UUID for the customer tenant. If this is set, Twine will automatically generate additional employment periods with this as the employment type. Should only be used if the source system cannot provide discreet probationary employment periods.","type":"string","uniqueKey":"data.system_custom.oneOf.7.probation_employment_type_id.oneOf.0","typeLabel":"string"},{"description":"The probation employment type UUID for the customer tenant. If this is set, Twine will automatically generate additional employment periods with this as the employment type. Should only be used if the source system cannot provide discreet probationary employment periods.","type":"null","uniqueKey":"data.system_custom.oneOf.7.probation_employment_type_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.7.probation_employment_type_id","typeLabel":"string | null"},"slug":{"enum":["flex_hrm"],"nullable":false,"type":"string","uniqueKey":"data.system_custom.oneOf.7.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"data.system_custom.oneOf.7","typeLabel":"FlexHrmSystemCustom · object"},{"type":"object","title":"FortnoxSystemCustom","description":"Custom configuration for Fortnox system integrations.","properties":{"insert_zero_salaries":{"oneOf":[{"description":"Whether to insert zero salaries for non-working periods for employees in Fortnox.","type":"boolean","uniqueKey":"data.system_custom.oneOf.8.insert_zero_salaries.oneOf.0","typeLabel":"boolean"},{"description":"Whether to insert zero salaries for non-working periods for employees in Fortnox.","type":"null","uniqueKey":"data.system_custom.oneOf.8.insert_zero_salaries.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.8.insert_zero_salaries","typeLabel":"boolean | null"},"scopes":{"oneOf":[{"description":"OAuth scopes requested from Fortnox during authentication. `companyinformation` is always included regardless of this value.","items":{"type":"string","uniqueKey":"data.system_custom.oneOf.8.scopes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"data.system_custom.oneOf.8.scopes.oneOf.0","typeLabel":"string[]"},{"description":"OAuth scopes requested from Fortnox during authentication. `companyinformation` is always included regardless of this value.","items":{"type":"string"},"type":"null","uniqueKey":"data.system_custom.oneOf.8.scopes.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.8.scopes","typeLabel":"string[] | null"},"slug":{"enum":["fortnox"],"nullable":false,"type":"string","uniqueKey":"data.system_custom.oneOf.8.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"data.system_custom.oneOf.8","typeLabel":"FortnoxSystemCustom · object"},{"type":"object","title":"GenericSystemCustom","description":"Systems without system-specific settings in the API. Only `slug` is exposed.","required":["slug"],"properties":{"slug":{"enum":["aboard","catalyst_one","heartpace","kleer","medvind_wfm","nmbrs","payzlip","quinyx","scim","sftp_server","simployer_classic","spiris","tidsbanken","timeplan"],"nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.system_custom.oneOf.9.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"data.system_custom.oneOf.9","typeLabel":"GenericSystemCustom · object"},{"type":"object","title":"HaileyHrSystemCustom","description":"Custom configuration for Hailey HR system integrations.","properties":{"slug":{"enum":["hailey_hr"],"nullable":false,"type":"string","uniqueKey":"data.system_custom.oneOf.10.slug","typeLabel":"enum\u003cstring>"},"use_sandbox_api":{"oneOf":[{"default":true,"description":"Whether to use the Hailey HR sandbox API.","type":"boolean","uniqueKey":"data.system_custom.oneOf.10.use_sandbox_api.oneOf.0","typeLabel":"boolean"},{"default":true,"description":"Whether to use the Hailey HR sandbox API.","type":"null","uniqueKey":"data.system_custom.oneOf.10.use_sandbox_api.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.10.use_sandbox_api","typeLabel":"boolean | null"}},"uniqueKey":"data.system_custom.oneOf.10","typeLabel":"HaileyHrSystemCustom · object"},{"type":"object","title":"HibobSystemCustom","description":"Custom configuration for Hibob system integrations.","properties":{"enabled_reports":{"oneOf":[{"description":"A list of report ids that should be enabled for Hibob.","items":{"type":"string","uniqueKey":"data.system_custom.oneOf.11.enabled_reports.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"data.system_custom.oneOf.11.enabled_reports.oneOf.0","typeLabel":"string[]"},{"description":"A list of report ids that should be enabled for Hibob.","items":{"type":"string"},"type":"null","uniqueKey":"data.system_custom.oneOf.11.enabled_reports.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.11.enabled_reports","typeLabel":"string[] | null"},"include_private_time_off_requests":{"oneOf":[{"default":false,"description":"Whether to include private time off requests.","type":"boolean","uniqueKey":"data.system_custom.oneOf.11.include_private_time_off_requests.oneOf.0","typeLabel":"boolean"},{"default":false,"description":"Whether to include private time off requests.","type":"null","uniqueKey":"data.system_custom.oneOf.11.include_private_time_off_requests.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.11.include_private_time_off_requests","typeLabel":"boolean | null"},"partner_token_suffix":{"oneOf":[{"description":"The partner token suffix for Hibob. Should be your company name, preferably unchanged once used once.","type":"string","uniqueKey":"data.system_custom.oneOf.11.partner_token_suffix.oneOf.0","typeLabel":"string"},{"description":"The partner token suffix for Hibob. Should be your company name, preferably unchanged once used once.","type":"null","uniqueKey":"data.system_custom.oneOf.11.partner_token_suffix.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.11.partner_token_suffix","typeLabel":"string | null"},"slug":{"enum":["hibob"],"nullable":false,"type":"string","uniqueKey":"data.system_custom.oneOf.11.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"data.system_custom.oneOf.11","typeLabel":"HibobSystemCustom · object"},{"type":"object","title":"HogiaOpenHrSystemCustomSchema","description":"Custom configuration for Hogia Open HR File system integrations.","required":["slug"],"properties":{"slug":{"enum":["hogia_open_hr"],"nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.system_custom.oneOf.12.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"data.system_custom.oneOf.12","typeLabel":"HogiaOpenHrSystemCustomSchema · object"},{"type":"object","title":"HogiaPlusHrSystemCustomSchema","description":"Custom configuration for Hogia Plus HR File system integrations.","required":["slug"],"properties":{"slug":{"enum":["hogia_file"],"nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.system_custom.oneOf.13.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"data.system_custom.oneOf.13","typeLabel":"HogiaPlusHrSystemCustomSchema · object"},{"type":"object","title":"HumaHrSystemCustom","description":"Custom configuration for Huma HR File system integrations.","required":["slug"],"properties":{"slug":{"enum":["huma_hr"],"nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.system_custom.oneOf.14.slug","typeLabel":"enum\u003cstring>"},"demo_api":{"oneOf":[{"description":"When true, API calls target Huma's demo environment (demo.openapi.humahr.com) instead of production. Off by default.","type":"boolean","uniqueKey":"data.system_custom.oneOf.14.demo_api.oneOf.0","typeLabel":"boolean"},{"description":"When true, API calls target Huma's demo environment (demo.openapi.humahr.com) instead of production. Off by default.","type":"null","uniqueKey":"data.system_custom.oneOf.14.demo_api.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.14.demo_api","typeLabel":"boolean | null"},"last_legacy_webhook_at":{"oneOf":[{"description":"Read-only: when the most recent webhook arrived on the legacy front endpoint. Null once a webhook arrives on the canonical perimeter endpoint.","format":"date-time","type":"string","uniqueKey":"data.system_custom.oneOf.14.last_legacy_webhook_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"Read-only: when the most recent webhook arrived on the legacy front endpoint. Null once a webhook arrives on the canonical perimeter endpoint.","format":"date-time","type":"null","uniqueKey":"data.system_custom.oneOf.14.last_legacy_webhook_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.14.last_legacy_webhook_at","typeLabel":"string\u003cdate-time> | null"},"legacy_webhook_endpoint":{"oneOf":[{"description":"Read-only signal: true when webhooks are still arriving on the legacy front endpoint rather than the canonical perimeter endpoint. Cleared automatically once a webhook arrives on the canonical endpoint.","type":"boolean","uniqueKey":"data.system_custom.oneOf.14.legacy_webhook_endpoint.oneOf.0","typeLabel":"boolean"},{"description":"Read-only signal: true when webhooks are still arriving on the legacy front endpoint rather than the canonical perimeter endpoint. Cleared automatically once a webhook arrives on the canonical endpoint.","type":"null","uniqueKey":"data.system_custom.oneOf.14.legacy_webhook_endpoint.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.14.legacy_webhook_endpoint","typeLabel":"boolean | null"},"use_webhook_data":{"oneOf":[{"description":"Temporary migration toggle. When true, webhook payloads carry and drive data directly. When false and API credentials are configured, webhooks only trigger an API-backed sync.","type":"boolean","uniqueKey":"data.system_custom.oneOf.14.use_webhook_data.oneOf.0","typeLabel":"boolean"},{"description":"Temporary migration toggle. When true, webhook payloads carry and drive data directly. When false and API credentials are configured, webhooks only trigger an API-backed sync.","type":"null","uniqueKey":"data.system_custom.oneOf.14.use_webhook_data.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.14.use_webhook_data","typeLabel":"boolean | null"}},"uniqueKey":"data.system_custom.oneOf.14","typeLabel":"HumaHrSystemCustom · object"},{"type":"object","title":"JsonFileSystemCustom","description":"Custom configuration for JSON file system integrations.","properties":{"input_shape":{"description":"How records are read: top-level `array`, `wrapped` array (see records_path), or `jsonl`.","enum":["array","wrapped","jsonl"],"type":"string","uniqueKey":"data.system_custom.oneOf.15.input_shape","typeLabel":"enum\u003cstring>"},"link_path":{"oneOf":[{"description":"Optional JSONPath (per record) used as the entity link id.","type":"string","uniqueKey":"data.system_custom.oneOf.15.link_path.oneOf.0","typeLabel":"string"},{"description":"Optional JSONPath (per record) used as the entity link id.","type":"null","uniqueKey":"data.system_custom.oneOf.15.link_path.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.15.link_path","typeLabel":"string | null"},"output_records_key":{"oneOf":[{"description":"For output_shape `wrapped`: the key the records array is nested under.","type":"string","uniqueKey":"data.system_custom.oneOf.15.output_records_key.oneOf.0","typeLabel":"string"},{"description":"For output_shape `wrapped`: the key the records array is nested under.","type":"null","uniqueKey":"data.system_custom.oneOf.15.output_records_key.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.15.output_records_key","typeLabel":"string | null"},"output_shape":{"description":"Shape of the exported file.","enum":["array","wrapped","jsonl"],"type":"string","uniqueKey":"data.system_custom.oneOf.15.output_shape","typeLabel":"enum\u003cstring>"},"records_path":{"oneOf":[{"description":"For input_shape `wrapped`: JSONPath to the records array (e.g. `$.employees`).","type":"string","uniqueKey":"data.system_custom.oneOf.15.records_path.oneOf.0","typeLabel":"string"},{"description":"For input_shape `wrapped`: JSONPath to the records array (e.g. `$.employees`).","type":"null","uniqueKey":"data.system_custom.oneOf.15.records_path.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.15.records_path","typeLabel":"string | null"},"slug":{"enum":["json_file"],"nullable":false,"type":"string","uniqueKey":"data.system_custom.oneOf.15.slug","typeLabel":"enum\u003cstring>"},"sources":{"description":"The field sources exposed to the property mapper.","items":{"description":"A group of fields read from each record (scalar) or from a nested array (list).","properties":{"base_path":{"oneOf":[{"description":"List sources only: JSONPath (per record) selecting the array elements.","type":"string","uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].base_path.oneOf.0","typeLabel":"string"},{"description":"List sources only: JSONPath (per record) selecting the array elements.","type":"null","uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].base_path.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].base_path","typeLabel":"string | null"},"end_date_path":{"oneOf":[{"description":"JSONPath whose value becomes the (exclusive) end-date on every DatedProperty.","type":"string","uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].end_date_path.oneOf.0","typeLabel":"string"},{"description":"JSONPath whose value becomes the (exclusive) end-date on every DatedProperty.","type":"null","uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].end_date_path.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].end_date_path","typeLabel":"string | null"},"fields":{"description":"The fields exposed by this source.","items":{"description":"A single mappable field within a JSON file source.","properties":{"id":{"oneOf":[{"description":"Stable id for the field; generated server-side if omitted.","type":"string","uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].fields.items.[INDEX].id.oneOf.0","typeLabel":"string"},{"description":"Stable id for the field; generated server-side if omitted.","type":"null","uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].fields.items.[INDEX].id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].fields.items.[INDEX].id","typeLabel":"string | null"},"name":{"oneOf":[{"description":"Display name shown in the property mapper.","type":"string","uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].fields.items.[INDEX].name.oneOf.0","typeLabel":"string"},{"description":"Display name shown in the property mapper.","type":"null","uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].fields.items.[INDEX].name.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].fields.items.[INDEX].name","typeLabel":"string | null"},"path":{"oneOf":[{"description":"JSONPath to the value, relative to the record (scalar source) or to each array element (list source).","type":"string","uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].fields.items.[INDEX].path.oneOf.0","typeLabel":"string"},{"description":"JSONPath to the value, relative to the record (scalar source) or to each array element (list source).","type":"null","uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].fields.items.[INDEX].path.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].fields.items.[INDEX].path","typeLabel":"string | null"}},"title":"JsonFileCustomField","type":"object","uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].fields.items.[INDEX]","typeLabel":"JsonFileCustomField · object"},"type":"array","uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].fields","typeLabel":"JsonFileCustomField · object[]"},"id":{"oneOf":[{"description":"Stable id for the source; generated server-side if omitted.","type":"string","uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].id.oneOf.0","typeLabel":"string"},{"description":"Stable id for the source; generated server-side if omitted.","type":"null","uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].id","typeLabel":"string | null"},"id_path":{"oneOf":[{"description":"JSONPath whose value becomes the `id` on every DatedProperty (groups parallel value histories).","type":"string","uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].id_path.oneOf.0","typeLabel":"string"},{"description":"JSONPath whose value becomes the `id` on every DatedProperty (groups parallel value histories).","type":"null","uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].id_path.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].id_path","typeLabel":"string | null"},"ignore":{"oneOf":[{"description":"Skip this source when parsing.","type":"boolean","uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].ignore.oneOf.0","typeLabel":"boolean"},{"description":"Skip this source when parsing.","type":"null","uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].ignore.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].ignore","typeLabel":"boolean | null"},"kind":{"description":"`scalar` reads fields off each record; `list` iterates a nested array.","enum":["scalar","list"],"type":"string","uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"name":{"oneOf":[{"description":"Display name of the source.","type":"string","uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].name.oneOf.0","typeLabel":"string"},{"description":"Display name of the source.","type":"null","uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].name.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].name","typeLabel":"string | null"},"start_date_path":{"oneOf":[{"description":"JSONPath whose value becomes `valid_from` on every DatedProperty.","type":"string","uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].start_date_path.oneOf.0","typeLabel":"string"},{"description":"JSONPath whose value becomes `valid_from` on every DatedProperty.","type":"null","uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].start_date_path.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX].start_date_path","typeLabel":"string | null"}},"title":"JsonFileCustomSource","type":"object","uniqueKey":"data.system_custom.oneOf.15.sources.items.[INDEX]","typeLabel":"JsonFileCustomSource · object"},"type":"array","uniqueKey":"data.system_custom.oneOf.15.sources","typeLabel":"JsonFileCustomSource · object[]"}},"uniqueKey":"data.system_custom.oneOf.15","typeLabel":"JsonFileSystemCustom · object"},{"type":"object","title":"KleerSystemCustom","description":"Custom configuration for Kleer system integrations.","properties":{"new_customer_project_default_name":{"oneOf":[{"description":"Default name for new customer projects.","type":"string","uniqueKey":"data.system_custom.oneOf.16.new_customer_project_default_name.oneOf.0","typeLabel":"string"},{"description":"Default name for new customer projects.","type":"null","uniqueKey":"data.system_custom.oneOf.16.new_customer_project_default_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.16.new_customer_project_default_name","typeLabel":"string | null"},"slug":{"enum":["pe_accounting"],"nullable":false,"type":"string","uniqueKey":"data.system_custom.oneOf.16.slug","typeLabel":"enum\u003cstring>"},"sync_new_customer_project":{"oneOf":[{"default":false,"description":"Whether to sync new customer projects.","type":"boolean","uniqueKey":"data.system_custom.oneOf.16.sync_new_customer_project.oneOf.0","typeLabel":"boolean"},{"default":false,"description":"Whether to sync new customer projects.","type":"null","uniqueKey":"data.system_custom.oneOf.16.sync_new_customer_project.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.16.sync_new_customer_project","typeLabel":"boolean | null"},"use_test_api":{"oneOf":[{"default":true,"description":"Whether to use Kleer's test API.","type":"boolean","uniqueKey":"data.system_custom.oneOf.16.use_test_api.oneOf.0","typeLabel":"boolean"},{"default":true,"description":"Whether to use Kleer's test API.","type":"null","uniqueKey":"data.system_custom.oneOf.16.use_test_api.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.16.use_test_api","typeLabel":"boolean | null"},"variable_pay_date_range_end":{"oneOf":[{"description":"Day of month to end syncing variable pay.","type":"integer","uniqueKey":"data.system_custom.oneOf.16.variable_pay_date_range_end.oneOf.0","typeLabel":"integer"},{"description":"Day of month to end syncing variable pay.","type":"null","uniqueKey":"data.system_custom.oneOf.16.variable_pay_date_range_end.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.16.variable_pay_date_range_end","typeLabel":"integer | null"},"variable_pay_date_range_start":{"oneOf":[{"description":"Day of month to start syncing variable pay.","type":"integer","uniqueKey":"data.system_custom.oneOf.16.variable_pay_date_range_start.oneOf.0","typeLabel":"integer"},{"description":"Day of month to start syncing variable pay.","type":"null","uniqueKey":"data.system_custom.oneOf.16.variable_pay_date_range_start.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.16.variable_pay_date_range_start","typeLabel":"integer | null"}},"uniqueKey":"data.system_custom.oneOf.16","typeLabel":"KleerSystemCustom · object"},{"type":"object","title":"KontekSystemCustom","description":"Custom configuration for Kontek system integrations.","required":["slug"],"properties":{"slug":{"enum":["kontek"],"nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.system_custom.oneOf.17.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"data.system_custom.oneOf.17","typeLabel":"KontekSystemCustom · object"},{"type":"object","title":"ManualDownloadSystemCustom","description":"Custom configuration for manual_download file_area integrations.","properties":{"notification_emails":{"oneOf":[{"description":"Email addresses to notify when a new file becomes available for download. Dispatch is not yet enabled.","items":{"type":"string","uniqueKey":"data.system_custom.oneOf.18.notification_emails.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"data.system_custom.oneOf.18.notification_emails.oneOf.0","typeLabel":"string[]"},{"description":"Email addresses to notify when a new file becomes available for download. Dispatch is not yet enabled.","items":{"type":"string"},"type":"null","uniqueKey":"data.system_custom.oneOf.18.notification_emails.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.18.notification_emails","typeLabel":"string[] | null"},"retention_days":{"oneOf":[{"default":30,"description":"Number of days generated files are retained in internal storage and available for download.","maximum":365,"minimum":1,"type":"integer","uniqueKey":"data.system_custom.oneOf.18.retention_days.oneOf.0","typeLabel":"integer"},{"default":30,"description":"Number of days generated files are retained in internal storage and available for download.","maximum":365,"minimum":1,"type":"null","uniqueKey":"data.system_custom.oneOf.18.retention_days.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.18.retention_days","typeLabel":"integer | null"},"slug":{"enum":["manual_download"],"nullable":false,"type":"string","uniqueKey":"data.system_custom.oneOf.18.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"data.system_custom.oneOf.18","typeLabel":"ManualDownloadSystemCustom · object"},{"type":"object","title":"ManualUploadSystemCustom","description":"Custom configuration for manual_upload file_area integrations.","properties":{"max_upload_bytes":{"oneOf":[{"description":"Largest file, in bytes, that can be uploaded on this integration. Lowers the platform limit of 50 MiB; it cannot raise it.","minimum":1,"type":"integer","uniqueKey":"data.system_custom.oneOf.19.max_upload_bytes.oneOf.0","typeLabel":"integer"},{"description":"Largest file, in bytes, that can be uploaded on this integration. Lowers the platform limit of 50 MiB; it cannot raise it.","minimum":1,"type":"null","uniqueKey":"data.system_custom.oneOf.19.max_upload_bytes.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.19.max_upload_bytes","typeLabel":"integer | null"},"slug":{"enum":["manual_upload"],"nullable":false,"type":"string","uniqueKey":"data.system_custom.oneOf.19.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"data.system_custom.oneOf.19","typeLabel":"ManualUploadSystemCustom · object"},{"type":"object","title":"PaxmlSystemCustom","description":"Custom configuration for Paxml system integrations.","properties":{"report_date_range_strategy":{"oneOf":[{"description":"The report date range parsing strategy to use for this integration.","enum":["auto","header","range","range_rounded"],"type":"string","uniqueKey":"data.system_custom.oneOf.20.report_date_range_strategy.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"The report date range parsing strategy to use for this integration.","enum":["auto","header","range","range_rounded"],"type":"null","uniqueKey":"data.system_custom.oneOf.20.report_date_range_strategy.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.20.report_date_range_strategy","typeLabel":"enum\u003cstring> | null"},"slug":{"enum":["paxml"],"nullable":false,"type":"string","uniqueKey":"data.system_custom.oneOf.20.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"data.system_custom.oneOf.20","typeLabel":"PaxmlSystemCustom · object"},{"type":"object","title":"PeopleCoreSystemCustom","description":"Custom configuration for PeopleCore system integrations.","properties":{"scopes":{"oneOf":[{"description":"The permission scopes to use for this integration.","items":{"type":"string","uniqueKey":"data.system_custom.oneOf.21.scopes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"data.system_custom.oneOf.21.scopes.oneOf.0","typeLabel":"string[]"},{"description":"The permission scopes to use for this integration.","items":{"type":"string"},"type":"null","uniqueKey":"data.system_custom.oneOf.21.scopes.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.21.scopes","typeLabel":"string[] | null"},"slug":{"enum":["people_core"],"nullable":false,"type":"string","uniqueKey":"data.system_custom.oneOf.21.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"data.system_custom.oneOf.21","typeLabel":"PeopleCoreSystemCustom · object"},{"type":"object","title":"PersonioSystemCustom","description":"Custom configuration for Personio system integrations.","properties":{"compensation_history_months":{"oneOf":[{"default":0,"description":"How many months of compensation history to retrieve, counting back from the current month. Personio caps a single compensation query at one calendar month, so each month is fetched separately.","type":"integer","uniqueKey":"data.system_custom.oneOf.22.compensation_history_months.oneOf.0","typeLabel":"integer"},{"default":0,"description":"How many months of compensation history to retrieve, counting back from the current month. Personio caps a single compensation query at one calendar month, so each month is fetched separately.","type":"null","uniqueKey":"data.system_custom.oneOf.22.compensation_history_months.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.22.compensation_history_months","typeLabel":"integer | null"},"has_compensation_anchor_engine":{"default":false,"description":"Whether a compensation anchor engine is configured. The engine derives a per-employee start date for the compensation window and is edited in the app, not over this API.","readOnly":true,"type":"boolean","uniqueKey":"data.system_custom.oneOf.22.has_compensation_anchor_engine","typeLabel":"boolean"},"partner_id":{"oneOf":[{"description":"The Personio partner ID to use for this integration.","type":"string","uniqueKey":"data.system_custom.oneOf.22.partner_id.oneOf.0","typeLabel":"string"},{"description":"The Personio partner ID to use for this integration.","type":"null","uniqueKey":"data.system_custom.oneOf.22.partner_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.22.partner_id","typeLabel":"string | null"},"slug":{"enum":["personio"],"nullable":false,"type":"string","uniqueKey":"data.system_custom.oneOf.22.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"data.system_custom.oneOf.22","typeLabel":"PersonioSystemCustom · object"},{"type":"object","title":"S3SystemCustom","description":"Custom configuration for S3 system integrations.","properties":{"s3_host":{"oneOf":[{"description":"The S3 host to connect to.","type":"string","uniqueKey":"data.system_custom.oneOf.23.s3_host.oneOf.0","typeLabel":"string"},{"description":"The S3 host to connect to.","type":"null","uniqueKey":"data.system_custom.oneOf.23.s3_host.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.23.s3_host","typeLabel":"string | null"},"s3_region":{"oneOf":[{"default":"us-east-1","description":"The S3 region to connect to.","type":"string","uniqueKey":"data.system_custom.oneOf.23.s3_region.oneOf.0","typeLabel":"string"},{"default":"us-east-1","description":"The S3 region to connect to.","type":"null","uniqueKey":"data.system_custom.oneOf.23.s3_region.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.23.s3_region","typeLabel":"string | null"},"slug":{"enum":["s3"],"nullable":false,"type":"string","uniqueKey":"data.system_custom.oneOf.23.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"data.system_custom.oneOf.23","typeLabel":"S3SystemCustom · object"},{"type":"object","title":"SftpSystemCustom","description":"Custom configuration for SFTP system integrations.","properties":{"auth_method":{"default":"password","description":"How Twine authenticates: `password` uses `api_client_secret`, `ssh_key` uses the private key in `api_key`. Changing it clears the other method's secret.","enum":["password","ssh_key"],"type":"string","uniqueKey":"data.system_custom.oneOf.24.auth_method","typeLabel":"enum\u003cstring>"},"sftp_host":{"oneOf":[{"description":"The SFTP host to connect to.","type":"string","uniqueKey":"data.system_custom.oneOf.24.sftp_host.oneOf.0","typeLabel":"string"},{"description":"The SFTP host to connect to.","type":"null","uniqueKey":"data.system_custom.oneOf.24.sftp_host.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.24.sftp_host","typeLabel":"string | null"},"sftp_port":{"oneOf":[{"default":22,"description":"The SFTP port to connect to.","type":"integer","uniqueKey":"data.system_custom.oneOf.24.sftp_port.oneOf.0","typeLabel":"integer"},{"default":22,"description":"The SFTP port to connect to.","type":"null","uniqueKey":"data.system_custom.oneOf.24.sftp_port.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.24.sftp_port","typeLabel":"integer | null"},"slug":{"enum":["sftp"],"nullable":false,"type":"string","uniqueKey":"data.system_custom.oneOf.24.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"data.system_custom.oneOf.24","typeLabel":"SftpSystemCustom · object"},{"type":"object","title":"SimployerOneSystemCustom","description":"Custom configuration for SimployerOne system integrations.","properties":{"slug":{"enum":["alexis_hr"],"nullable":false,"type":"string","uniqueKey":"data.system_custom.oneOf.25.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"data.system_custom.oneOf.25","typeLabel":"SimployerOneSystemCustom · object"},{"type":"object","title":"SkovikSystemCustom","description":"Custom configuration for Skovik system integrations.","required":["slug"],"properties":{"slug":{"enum":["skovik"],"nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.system_custom.oneOf.26.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"data.system_custom.oneOf.26","typeLabel":"SkovikSystemCustom · object"},{"type":"object","title":"TeamtailorSystemCustom","description":"Custom configuration for Teamtailor system integrations.","properties":{"filter_on_stage_types":{"oneOf":[{"description":"The authentication scheme to use for this Teamtailor integration.","enum":["basic","bearer"],"type":"string","uniqueKey":"data.system_custom.oneOf.27.filter_on_stage_types.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"The authentication scheme to use for this Teamtailor integration.","enum":["basic","bearer"],"type":"null","uniqueKey":"data.system_custom.oneOf.27.filter_on_stage_types.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.27.filter_on_stage_types","typeLabel":"enum\u003cstring> | null"},"slug":{"enum":["teamtailor"],"nullable":false,"type":"string","uniqueKey":"data.system_custom.oneOf.27.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"data.system_custom.oneOf.27","typeLabel":"TeamtailorSystemCustom · object"},{"type":"object","title":"TwentyFourSevenSystemCustom","description":"Custom configuration for Twenty Four Seven system integrations.","required":["slug"],"properties":{"slug":{"enum":["twenty_four_seven"],"nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.system_custom.oneOf.28.slug","typeLabel":"enum\u003cstring>"},"absence_replication":{"oneOf":[{"description":"Absence replication configuration for V2 pipeline.","properties":{"group_by_field":{"oneOf":[{"description":"Field used to group consecutive absences.","enum":["comment","source_external_id","source_external_ids","target_time_type_id"],"type":"string","uniqueKey":"data.system_custom.oneOf.28.absence_replication.oneOf.0.group_by_field.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"Field used to group consecutive absences.","enum":["comment","source_external_id","source_external_ids","target_time_type_id"],"type":"null","uniqueKey":"data.system_custom.oneOf.28.absence_replication.oneOf.0.group_by_field.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.28.absence_replication.oneOf.0.group_by_field","typeLabel":"enum\u003cstring> | null"},"group_consecutive":{"oneOf":[{"description":"Whether to merge consecutive daily TimeReports sharing the grouping field into a single Payday absence.","type":"boolean","uniqueKey":"data.system_custom.oneOf.28.absence_replication.oneOf.0.group_consecutive.oneOf.0","typeLabel":"boolean"},{"description":"Whether to merge consecutive daily TimeReports sharing the grouping field into a single Payday absence.","type":"null","uniqueKey":"data.system_custom.oneOf.28.absence_replication.oneOf.0.group_consecutive.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.28.absence_replication.oneOf.0.group_consecutive","typeLabel":"boolean | null"}},"title":"TwentyFourSevenAbsenceReplication","type":"object","uniqueKey":"data.system_custom.oneOf.28.absence_replication.oneOf.0","typeLabel":"TwentyFourSevenAbsenceReplication · object"},{"description":"Absence replication configuration for V2 pipeline.","properties":{"group_by_field":{"oneOf":[{"description":"Field used to group consecutive absences.","enum":["comment","source_external_id","source_external_ids","target_time_type_id"],"type":"string"},{"description":"Field used to group consecutive absences.","enum":["comment","source_external_id","source_external_ids","target_time_type_id"],"type":"null"}]},"group_consecutive":{"oneOf":[{"description":"Whether to merge consecutive daily TimeReports sharing the grouping field into a single Payday absence.","type":"boolean"},{"description":"Whether to merge consecutive daily TimeReports sharing the grouping field into a single Payday absence.","type":"null"}]}},"title":"TwentyFourSevenAbsenceReplication","type":"null","uniqueKey":"data.system_custom.oneOf.28.absence_replication.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.28.absence_replication","typeLabel":"TwentyFourSevenAbsenceReplication · object | null"},"country_code":{"oneOf":[{"description":"Auto-detected from Payday's organization endpoint on credential save. Drives country-specific V2 payload handling.","enum":["SE","NO"],"type":"string","uniqueKey":"data.system_custom.oneOf.28.country_code.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"Auto-detected from Payday's organization endpoint on credential save. Drives country-specific V2 payload handling.","enum":["SE","NO"],"type":"null","uniqueKey":"data.system_custom.oneOf.28.country_code.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.28.country_code","typeLabel":"enum\u003cstring> | null"},"defer_employment_end_date":{"oneOf":[{"deprecated":true,"description":"Deprecated, use employment_end_date_policy. Read as `defer` when no policy is set.","type":"boolean","uniqueKey":"data.system_custom.oneOf.28.defer_employment_end_date.oneOf.0","typeLabel":"boolean"},{"deprecated":true,"description":"Deprecated, use employment_end_date_policy. Read as `defer` when no policy is set.","type":"null","uniqueKey":"data.system_custom.oneOf.28.defer_employment_end_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.28.defer_employment_end_date","typeLabel":"boolean | null"},"designate_primary_employment":{"oneOf":[{"description":"Whether Twine designates the primary employment for each employee.","type":"boolean","uniqueKey":"data.system_custom.oneOf.28.designate_primary_employment.oneOf.0","typeLabel":"boolean"},{"description":"Whether Twine designates the primary employment for each employee.","type":"null","uniqueKey":"data.system_custom.oneOf.28.designate_primary_employment.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.28.designate_primary_employment","typeLabel":"boolean | null"},"employment_end_date_offset":{"oneOf":[{"description":"How far ahead of today an employment end date may fall and still be written, when end date deferral is enabled.","properties":{"day":{"oneOf":[{"default":0,"type":"integer","uniqueKey":"data.system_custom.oneOf.28.employment_end_date_offset.oneOf.0.day.oneOf.0","typeLabel":"integer"},{"default":0,"type":"null","uniqueKey":"data.system_custom.oneOf.28.employment_end_date_offset.oneOf.0.day.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.28.employment_end_date_offset.oneOf.0.day","typeLabel":"integer | null"},"month":{"oneOf":[{"default":0,"type":"integer","uniqueKey":"data.system_custom.oneOf.28.employment_end_date_offset.oneOf.0.month.oneOf.0","typeLabel":"integer"},{"default":0,"type":"null","uniqueKey":"data.system_custom.oneOf.28.employment_end_date_offset.oneOf.0.month.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.28.employment_end_date_offset.oneOf.0.month","typeLabel":"integer | null"},"week":{"oneOf":[{"default":0,"type":"integer","uniqueKey":"data.system_custom.oneOf.28.employment_end_date_offset.oneOf.0.week.oneOf.0","typeLabel":"integer"},{"default":0,"type":"null","uniqueKey":"data.system_custom.oneOf.28.employment_end_date_offset.oneOf.0.week.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.28.employment_end_date_offset.oneOf.0.week","typeLabel":"integer | null"},"year":{"oneOf":[{"default":0,"type":"integer","uniqueKey":"data.system_custom.oneOf.28.employment_end_date_offset.oneOf.0.year.oneOf.0","typeLabel":"integer"},{"default":0,"type":"null","uniqueKey":"data.system_custom.oneOf.28.employment_end_date_offset.oneOf.0.year.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.28.employment_end_date_offset.oneOf.0.year","typeLabel":"integer | null"}},"title":"TwentyFourSevenEmploymentEndDateOffset","type":"object","uniqueKey":"data.system_custom.oneOf.28.employment_end_date_offset.oneOf.0","typeLabel":"TwentyFourSevenEmploymentEndDateOffset · object"},{"description":"How far ahead of today an employment end date may fall and still be written, when end date deferral is enabled.","properties":{"day":{"oneOf":[{"default":0,"type":"integer"},{"default":0,"type":"null"}]},"month":{"oneOf":[{"default":0,"type":"integer"},{"default":0,"type":"null"}]},"week":{"oneOf":[{"default":0,"type":"integer"},{"default":0,"type":"null"}]},"year":{"oneOf":[{"default":0,"type":"integer"},{"default":0,"type":"null"}]}},"title":"TwentyFourSevenEmploymentEndDateOffset","type":"null","uniqueKey":"data.system_custom.oneOf.28.employment_end_date_offset.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.28.employment_end_date_offset","typeLabel":"TwentyFourSevenEmploymentEndDateOffset · object | null"},"employment_end_date_policy":{"oneOf":[{"description":"Who sets an employment's end date and reason in Payday. `write` (the default) sends them as soon as Twine has them; `defer` waits until the end date falls within employment_end_date_offset of today; `never` means Twine writes none and the customer sets them by hand.","enum":["write","defer","never"],"type":"string","uniqueKey":"data.system_custom.oneOf.28.employment_end_date_policy.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"Who sets an employment's end date and reason in Payday. `write` (the default) sends them as soon as Twine has them; `defer` waits until the end date falls within employment_end_date_offset of today; `never` means Twine writes none and the customer sets them by hand.","enum":["write","defer","never"],"type":"null","uniqueKey":"data.system_custom.oneOf.28.employment_end_date_policy.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.28.employment_end_date_policy","typeLabel":"enum\u003cstring> | null"},"merge_contiguous_employments":{"oneOf":[{"description":"Whether source employment periods that run contiguously and agree on every mapped field are sent to Payday as a single employment.","type":"boolean","uniqueKey":"data.system_custom.oneOf.28.merge_contiguous_employments.oneOf.0","typeLabel":"boolean"},{"description":"Whether source employment periods that run contiguously and agree on every mapped field are sent to Payday as a single employment.","type":"null","uniqueKey":"data.system_custom.oneOf.28.merge_contiguous_employments.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.28.merge_contiguous_employments","typeLabel":"boolean | null"},"primary_employment_date_offset":{"oneOf":[{"description":"Date offset applied when designating primary employment.","properties":{"day":{"oneOf":[{"default":0,"type":"integer","uniqueKey":"data.system_custom.oneOf.28.primary_employment_date_offset.oneOf.0.day.oneOf.0","typeLabel":"integer"},{"default":0,"type":"null","uniqueKey":"data.system_custom.oneOf.28.primary_employment_date_offset.oneOf.0.day.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.28.primary_employment_date_offset.oneOf.0.day","typeLabel":"integer | null"},"month":{"oneOf":[{"default":0,"type":"integer","uniqueKey":"data.system_custom.oneOf.28.primary_employment_date_offset.oneOf.0.month.oneOf.0","typeLabel":"integer"},{"default":0,"type":"null","uniqueKey":"data.system_custom.oneOf.28.primary_employment_date_offset.oneOf.0.month.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.28.primary_employment_date_offset.oneOf.0.month","typeLabel":"integer | null"},"week":{"oneOf":[{"default":0,"type":"integer","uniqueKey":"data.system_custom.oneOf.28.primary_employment_date_offset.oneOf.0.week.oneOf.0","typeLabel":"integer"},{"default":0,"type":"null","uniqueKey":"data.system_custom.oneOf.28.primary_employment_date_offset.oneOf.0.week.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.28.primary_employment_date_offset.oneOf.0.week","typeLabel":"integer | null"},"year":{"oneOf":[{"default":0,"type":"integer","uniqueKey":"data.system_custom.oneOf.28.primary_employment_date_offset.oneOf.0.year.oneOf.0","typeLabel":"integer"},{"default":0,"type":"null","uniqueKey":"data.system_custom.oneOf.28.primary_employment_date_offset.oneOf.0.year.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.28.primary_employment_date_offset.oneOf.0.year","typeLabel":"integer | null"}},"title":"TwentyFourSevenPrimaryEmploymentDateOffset","type":"object","uniqueKey":"data.system_custom.oneOf.28.primary_employment_date_offset.oneOf.0","typeLabel":"TwentyFourSevenPrimaryEmploymentDateOffset · object"},{"description":"Date offset applied when designating primary employment.","properties":{"day":{"oneOf":[{"default":0,"type":"integer"},{"default":0,"type":"null"}]},"month":{"oneOf":[{"default":0,"type":"integer"},{"default":0,"type":"null"}]},"week":{"oneOf":[{"default":0,"type":"integer"},{"default":0,"type":"null"}]},"year":{"oneOf":[{"default":0,"type":"integer"},{"default":0,"type":"null"}]}},"title":"TwentyFourSevenPrimaryEmploymentDateOffset","type":"null","uniqueKey":"data.system_custom.oneOf.28.primary_employment_date_offset.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.28.primary_employment_date_offset","typeLabel":"TwentyFourSevenPrimaryEmploymentDateOffset · object | null"},"use_v2_replication_pipeline":{"oneOf":[{"description":"Opt-in to the V2 replication pipeline. Requires country_code to be set.","type":"boolean","uniqueKey":"data.system_custom.oneOf.28.use_v2_replication_pipeline.oneOf.0","typeLabel":"boolean"},{"description":"Opt-in to the V2 replication pipeline. Requires country_code to be set.","type":"null","uniqueKey":"data.system_custom.oneOf.28.use_v2_replication_pipeline.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.system_custom.oneOf.28.use_v2_replication_pipeline","typeLabel":"boolean | null"}},"uniqueKey":"data.system_custom.oneOf.28","typeLabel":"TwentyFourSevenSystemCustom · object"},{"type":"object","title":"TimeRecorderSystemCustom","description":"Custom configuration for Time Recorder system integrations.","required":["slug"],"properties":{"slug":{"enum":["time_recorder"],"nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.system_custom.oneOf.29.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"data.system_custom.oneOf.29","typeLabel":"TimeRecorderSystemCustom · object"},{"type":"object","title":"TwineSystemCustom","description":"Custom configuration for Twine system integrations.","required":["slug"],"properties":{"slug":{"enum":["twine"],"nullable":false,"type":"string","isRequired":true,"uniqueKey":"data.system_custom.oneOf.30.slug","typeLabel":"enum\u003cstring>"}},"uniqueKey":"data.system_custom.oneOf.30","typeLabel":"TwineSystemCustom · object"}],"uniqueKey":"data.system_custom","typeLabel":"AgdaFileSystemCustom · object | AgdaPsSystemCustom · object | BambooHrSystemCustom · object | CaspecoSystemCustom · object | SpreadsheetSystemCustom · object | EntraIdSystemCustom · object | EvityHrSystemCustom · object | FlexHrmSystemCustom · object | FortnoxSystemCustom · object | GenericSystemCustom · object | HaileyHrSystemCustom · object | HibobSystemCustom · object | HogiaOpenHrSystemCustomSchema · object | HogiaPlusHrSystemCustomSchema · object | HumaHrSystemCustom · object | JsonFileSystemCustom · object | KleerSystemCustom · object | KontekSystemCustom · object | ManualDownloadSystemCustom · object | ManualUploadSystemCustom · object | PaxmlSystemCustom · object | PeopleCoreSystemCustom · object | PersonioSystemCustom · object | S3SystemCustom · object | SftpSystemCustom · object | SimployerOneSystemCustom · object | SkovikSystemCustom · object | TeamtailorSystemCustom · object | TwentyFourSevenSystemCustom · object | TimeRecorderSystemCustom · object | TwineSystemCustom · object"},"updated_at":{"description":"Timestamp of when the system integration was last updated","example":"2021-06-01T12:00:00Z","format":"date-time","type":"string","uniqueKey":"data.updated_at","typeLabel":"string\u003cdate-time>"}},"required":["id","org_id","system_id"],"title":"SystemIntegration","type":"object","isRequired":true,"uniqueKey":"data","typeLabel":"SystemIntegration · object"}},"required":["data"],"title":"SystemIntegrationResponse","type":"object","uniqueKey":"","typeLabel":"SystemIntegrationResponse · object"},"examples":{"Example":{"title":"Example","value":{"data":{"id":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","org_id":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","system_id":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","api_client_id":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","api_endpoint_url":"https://your-company.api.example.com/v1","domain_mappings":[{"enabled":true,"from_domain":"employee","id":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","org_id":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","source_system_integration_id":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","target_system_integration_id":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","to_domain":"employee","all_conditions_must_apply":false,"conditions":[{"apply_on_actions":["create"],"condition":{},"domain":"employee","enabled":true,"id":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","description":"\u003cstring>"}],"description":"Employees from the HR system into payroll","inserted_at":"2021-06-01T12:00:00Z","mode":"default","sync_triggers":[{"domain_mapping_id":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","id":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","org_id":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","system_integration_id":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","cron_expression":"0 0 * * *","domain_configuration":{"domain":"time_report","from_date":"2023-12-25","from_date_engine":{},"to_date":"2023-12-25","to_date_engine":{}},"last_sync_ended_at":"2023-01-01T00:00:00Z","last_sync_started_at":"2023-01-01T00:00:00Z","next_sync_at":"2023-01-01T00:00:00Z","parent_id":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b"}],"updated_at":"2021-06-01T12:00:00Z"}],"external_org_id":"\u003cstring>","inserted_at":"2021-06-01T12:00:00Z","property_mappings":[{"common_domain":"employee","common_path":["salary_amount"],"id":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","org_id":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","system_domain":"employee","system_integration_id":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","system_path":["salaries","[]","amount"],"converters":[{"converter":"string_to_integer","pod_id":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b"}],"enabled":true,"engine":{"domain":"employee","engine":{},"version":"2","description":"This engine maps properties from one format to another."},"reference_domain":"employee","version":2}],"system":{"id":"018eae56-8f9d-7ca0-bea3-17f3db6cf75b","kind":"other","name":"Evity HR","slug":"twine","description":"The Spreadsheet integration lets Twine exchange employee data as spreadsheet files...","domains":[{"capability":"read","domain":"employee"},{"capability":"write","domain":"time_report"}],"logo_url":"https://example.com/logos/system-logo.png","status":"available"},"system_custom":{"slug":"agda_file","change_lookback_enabled":true,"change_lookback_unit":"day","change_lookback_value":2,"company_no":"\u003cstring>","file_name_prefix":"\u003cstring>","salary_paycodes":["\u003cstring>"]},"updated_at":"2021-06-01T12:00:00Z"}}}},"exampleType":"generated"}},"description":"System Integration Response","exampleType":"generated"},"e1c8c9db-7ecc-4087-9bb8-a931b43ba61d":{"content":{"application/json":{"schema":{"description":"Bad request error","properties":{"code":{"example":400,"type":"integer","isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"errors":{"default":[],"items":{"description":"Singular error","properties":{"domain":{"type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].domain","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"reason":{"type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].reason","typeLabel":"string"}},"required":["domain","reason","message"],"title":"InnerError","type":"object","uniqueKey":"errors.items.[INDEX]","typeLabel":"InnerError · object"},"type":"array","isRequired":true,"uniqueKey":"errors","typeLabel":"InnerError · object[]"},"message":{"example":"Bad Request","type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["code","message","errors"],"title":"BadRequestError","type":"object","uniqueKey":"","typeLabel":"BadRequestError · object"},"examples":{"Example":{"title":"Example","value":{"code":400,"errors":[],"message":"Bad Request"}}},"exampleType":"generated"}},"description":"Bad Request Response","exampleType":"generated"},"75049a1e-9761-442a-91f8-01c123c04eed":{"content":{"application/json":{"schema":{"description":"Forbidden error","properties":{"code":{"example":403,"type":"integer","isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"errors":{"default":[],"items":{"description":"Singular error","properties":{"domain":{"type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].domain","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"reason":{"type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].reason","typeLabel":"string"}},"required":["domain","reason","message"],"title":"InnerError","type":"object","uniqueKey":"errors.items.[INDEX]","typeLabel":"InnerError · object"},"type":"array","isRequired":true,"uniqueKey":"errors","typeLabel":"InnerError · object[]"},"message":{"example":"Forbidden","type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["code","message","errors"],"title":"ForbiddenError","type":"object","uniqueKey":"","typeLabel":"ForbiddenError · object"},"examples":{"Example":{"title":"Example","value":{"code":403,"errors":[],"message":"Forbidden"}}},"exampleType":"generated"}},"description":"Forbidden Response","exampleType":"generated"},"6dd1d655-a66b-4b2d-b31e-22eb30cdb142":{"content":{"application/json":{"schema":{"description":"Internal server error","properties":{"code":{"example":500,"type":"integer","isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"errors":{"default":[],"items":{"description":"Singular error","properties":{"domain":{"type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].domain","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"reason":{"type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].reason","typeLabel":"string"}},"required":["domain","reason","message"],"title":"InnerError","type":"object","uniqueKey":"errors.items.[INDEX]","typeLabel":"InnerError · object"},"type":"array","isRequired":true,"uniqueKey":"errors","typeLabel":"InnerError · object[]"},"message":{"example":"Internal Server Error","type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["code","message","errors"],"title":"InternalServerError","type":"object","uniqueKey":"","typeLabel":"InternalServerError · object"},"examples":{"Example":{"title":"Example","value":{"code":500,"errors":[],"message":"Internal Server Error"}}},"exampleType":"generated"}},"description":"Internal Error Response","exampleType":"generated"}},"security":{"48248fe8-3acb-4be1-b40f-8384723ebc05":{"BearerAuth":{"bearerFormat":"JWT","description":"Bearer token for authentication","scheme":"bearer","type":"http","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"9052e5c0-34df-47d4-8603-693bab08bcc0":{"description":"Twine Public Production API","url":"https://api.twine.se","variables":{}},"c9338b87-25eb-4aa8-b3fe-b99dae164f43":{"description":"Twine Public Staging API","url":"https://api-stage.twine.se","variables":{}}},"processedSecurityOptions":[{"schemes":[{"scheme":{"bearerFormat":"JWT","description":"Bearer token for authentication","scheme":"bearer","type":"http","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer token for authentication","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"https://api.twine.se/spec/openapi.json"},"subdomain":"entwineab","siteName":"Twine Integrations","title":"Create System Integration - Twine Integrations","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-14T11:25:10.189Z","originalFileLocation":"api-reference/systemintegrations/create-system-integration.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Creates a system integration\">\u003cmeta data-mint-head name=\"application-name\" content=\"Twine Integrations\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/entwineab/8LV-a3cLiAT4An4I/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/entwineab/8LV-a3cLiAT4An4I/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/entwineab/8LV-a3cLiAT4An4I/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/entwineab/8LV-a3cLiAT4An4I/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/entwineab/8LV-a3cLiAT4An4I/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/entwineab/8LV-a3cLiAT4An4I/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/entwineab/8LV-a3cLiAT4An4I/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/entwineab/8LV-a3cLiAT4An4I/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/entwineab/8LV-a3cLiAT4An4I/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create System Integration - Twine Integrations\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates a system integration\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Twine Integrations\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.twine.se/api-reference/systemintegrations/create-system-integration\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://entwineab.mintlify.app/_mintlify/api/og/v2?division=SystemIntegrations\u0026amp;title=Create+System+Integration\u0026amp;description=Creates+a+system+integration\u0026amp;theme=30a0ce2375f0bc6afd332c94\u0026amp;signature=9183b2498355b480334c3dacc5d83c8f94ef3263d5060399269aaee6427cabd7\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create System Integration - Twine Integrations\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates a system integration\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://entwineab.mintlify.app/_mintlify/api/og/v2?division=SystemIntegrations\u0026amp;title=Create+System+Integration\u0026amp;description=Creates+a+system+integration\u0026amp;theme=30a0ce2375f0bc6afd332c94\u0026amp;signature=9183b2498355b480334c3dacc5d83c8f94ef3263d5060399269aaee6427cabd7\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/entwineab/8LV-a3cLiAT4An4I/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Twine Integrations\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7600ff\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.twine.se/api-reference/systemintegrations/create-system-integration\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/systemintegrations/create-system-integration.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.twine.se/#organization\",\"name\":\"Twine Integrations\",\"url\":\"https://docs.twine.se\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/entwineab/W0WCY-b2dvTokvLn/logo/light.svg?fit=max\u0026auto=format\u0026n=W0WCY-b2dvTokvLn\u0026q=85\u0026s=7e70d0ec35e8816f98a512eafa2ad35b\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.twine.se#website\",\"name\":\"Twine Integrations\",\"url\":\"https://docs.twine.se\",\"publisher\":{\"@id\":\"https://docs.twine.se/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.twine.se/api-reference/systemintegrations/create-system-integration#webpage\",\"url\":\"https://docs.twine.se/api-reference/systemintegrations/create-system-integration\",\"name\":\"Create System Integration\",\"description\":\"Creates a system integration\",\"dateModified\":\"2026-10-14T11:25:10.189Z\",\"isPartOf\":{\"@id\":\"https://docs.twine.se#website\"},\"breadcrumb\":{\"@id\":\"https://docs.twine.se/api-reference/systemintegrations/create-system-integration#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.twine.se/api-reference/systemintegrations/create-system-integration#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.twine.se/api-reference/users/get-users\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SystemIntegrations\",\"item\":\"https://docs.twine.se/api-reference/systemintegrations/get-system-integration\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Create System Integration\",\"item\":\"https://docs.twine.se/api-reference/systemintegrations/create-system-integration\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.twine.se/api-reference/systemintegrations/create-system-integration#apireference\",\"headline\":\"Create System Integration\",\"name\":\"Create System Integration\",\"description\":\"Creates a system integration\",\"url\":\"https://docs.twine.se/api-reference/systemintegrations/create-system-integration\",\"mainEntityOfPage\":{\"@id\":\"https://docs.twine.se/api-reference/systemintegrations/create-system-integration#webpage\"},\"dateModified\":\"2026-10-14T11:25:10.189Z\",\"publisher\":{\"@id\":\"https://docs.twine.se/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.twine.se#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Twine Integrations\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Twine Integrations","nav":{"global":{"anchors":[{"anchor":"twine.se","icon":"globe","href":"https://www.twine.se"}]},"tabs":[{"tab":"Overview","pages":[{"title":"Overview","href":"/overview"}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/integrations"}]},{"tab":"Platform","pages":[{"title":"Platform","href":"/platform"}]},{"tab":"Backoffice","pages":[{"title":"Backoffice","href":"/backoffice"}]},{"tab":"Flow Engine","pages":[{"title":"Flow Engine","href":"/flow-engine"}]},{"tab":"Data Engine","pages":[{"title":"Data Engine","href":"/data-engine"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]},{"tab":"API Reference","groups":[{"group":"API Documentation","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"title":"Authentication","href":"/api-reference/authentication"},{"title":"Provisioning","href":"/api-reference/provisioning"},{"title":"Filtering and ordering","href":"/api-reference/filtering-and-ordering"},{"title":"Pushing data","href":"/api-reference/pushing-data"}]},{"group":"API Reference","pages":[{"group":"Users","pages":[{"title":"Get Users","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/users","href":"/api-reference/users/get-users"}]},{"group":"Competences","pages":[{"title":"Get Competence","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/competences/{competence_id}","href":"/api-reference/competences/get-competence"},{"title":"Replace Competence","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json put /v1/org/competences/{competence_id}","href":"/api-reference/competences/replace-competence"},{"title":"Delete Competence","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json delete /v1/org/competences/{competence_id}","href":"/api-reference/competences/delete-competence"},{"title":"Update Competence","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json patch /v1/org/competences/{competence_id}","href":"/api-reference/competences/update-competence"},{"title":"Get Competences","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/competences","href":"/api-reference/competences/get-competences"},{"title":"Create Competence","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json post /v1/org/competences","href":"/api-reference/competences/create-competence"}]},{"group":"Organizations","pages":[{"title":"Get organizations","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org","href":"/api-reference/organizations/get-organizations"},{"title":"Create organization","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json post /v1/org","href":"/api-reference/organizations/create-organization"},{"title":"Get organization","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/{org_id}","href":"/api-reference/organizations/get-organization"}]},{"group":"DomainMappings","pages":[{"title":"Delete Domain Mapping Sync Trigger","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json delete /v1/org/domain-mappings/{domain_mapping_id}/sync-triggers/{sync_trigger_id}","href":"/api-reference/domainmappings/delete-domain-mapping-sync-trigger"},{"title":"Fire Domain Mapping Sync Trigger","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json post /v1/org/domain-mappings/{domain_mapping_id}/sync-triggers/{sync_trigger_id}/fire","href":"/api-reference/domainmappings/fire-domain-mapping-sync-trigger"},{"title":"Get Domain Mapping","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/domain-mappings/{domain_mapping_id}","href":"/api-reference/domainmappings/get-domain-mapping"},{"title":"Update Domain Mapping","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json put /v1/org/domain-mappings/{domain_mapping_id}","href":"/api-reference/domainmappings/update-domain-mapping"},{"title":"Delete Domain Mapping","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json delete /v1/org/domain-mappings/{domain_mapping_id}","href":"/api-reference/domainmappings/delete-domain-mapping"},{"title":"Get Domain Mappings","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/domain-mappings","href":"/api-reference/domainmappings/get-domain-mappings"},{"title":"Create Domain Mapping","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json post /v1/org/domain-mappings","href":"/api-reference/domainmappings/create-domain-mapping"}]},{"group":"SystemIntegrations","pages":[{"title":"Get System Integration","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/system-integrations/{id}","href":"/api-reference/systemintegrations/get-system-integration"},{"title":"Update System Integration","deprecated":true,"version":null,"openapi":"https://api.twine.se/spec/openapi.json put /v1/org/system-integrations/{id}","href":"/api-reference/systemintegrations/update-system-integration"},{"title":"Partially Update System Integration","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json patch /v1/org/system-integrations/{id}","href":"/api-reference/systemintegrations/partially-update-system-integration"},{"title":"Create Credentials Link","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json post /v1/org/system-integrations/{id}/credentials-link","href":"/api-reference/systemintegrations/create-credentials-link"},{"title":"Get System Integration Fields","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/system-integrations/{id}/fields/{domain}","href":"/api-reference/systemintegrations/get-system-integration-fields"},{"title":"Get System Integrations","description":"Fetches all available system integrations accessible by the API role\n","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/system-integrations","href":"/api-reference/systemintegrations/get-system-integrations"},{"title":"Create System Integration","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json post /v1/org/system-integrations","href":"/api-reference/systemintegrations/create-system-integration"}]},{"group":"File Transfers","pages":[{"title":"Get File Transfers","description":"List file transfers. These records are kept indefinitely, including the identifier each target system assigned, even though the uploaded files themselves are removed shortly after delivery.","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/file-transfers","href":"/api-reference/file-transfers/get-file-transfers"},{"title":"Upload File","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json post /v1/org/file-transfers","href":"/api-reference/file-transfers/upload-file"},{"title":"Get File Transfer","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/file-transfers/{file_transfer_id}","href":"/api-reference/file-transfers/get-file-transfer"}]},{"group":"System Time Types","pages":[{"title":"Get System Time Type","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/time-reports/system-time-types/{system_integration_id}/{system_time_type_id}","href":"/api-reference/system-time-types/get-system-time-type"},{"title":"Update System Time Type","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json put /v1/org/time-reports/system-time-types/{system_integration_id}/{system_time_type_id}","href":"/api-reference/system-time-types/update-system-time-type"},{"title":"Delete System Time Type","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json delete /v1/org/time-reports/system-time-types/{system_integration_id}/{system_time_type_id}","href":"/api-reference/system-time-types/delete-system-time-type"},{"title":"Get System Time Types","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/time-reports/system-time-types/{system_integration_id}","href":"/api-reference/system-time-types/get-system-time-types"},{"title":"Create System Time Type","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json post /v1/org/time-reports/system-time-types/{system_integration_id}","href":"/api-reference/system-time-types/create-system-time-type"}]},{"group":"EmployeeMappings","pages":[{"title":"Get Employee Mappings","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/employees/mappings","href":"/api-reference/employeemappings/get-employee-mappings"},{"title":"Create Employee Mapping","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json post /v1/org/employees/mappings","href":"/api-reference/employeemappings/create-employee-mapping"},{"title":"Update Employee Mapping","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json put /v1/org/employees/mappings/{employee_mapping_id}","href":"/api-reference/employeemappings/update-employee-mapping"},{"title":"Delete Employee Mapping","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json delete /v1/org/employees/mappings/{employee_mapping_id}","href":"/api-reference/employeemappings/delete-employee-mapping"}]},{"group":"Time Reports","pages":[{"title":"Get Time Reports","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/time-reports","href":"/api-reference/time-reports/get-time-reports"},{"title":"Create Time Report","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json post /v1/org/time-reports","href":"/api-reference/time-reports/create-time-report"},{"title":"Get Time Report","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/time-reports/{time_report_id}","href":"/api-reference/time-reports/get-time-report"},{"title":"Update Time Report","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json put /v1/org/time-reports/{time_report_id}","href":"/api-reference/time-reports/update-time-report"},{"title":"Delete Time Report","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json delete /v1/org/time-reports/{time_report_id}","href":"/api-reference/time-reports/delete-time-report"}]},{"group":"Provisioning","pages":[{"title":"Refresh token","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json post /provisioning/refresh-token/refresh","href":"/api-reference/provisioning/refresh-token"},{"title":"Begin refresh token process","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json post /provisioning/refresh-token/begin","href":"/api-reference/provisioning/begin-refresh-token-process"}]},{"group":"Systems","pages":[{"title":"Get System Fields","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/systems/{system_id}/fields/{domain}","href":"/api-reference/systems/get-system-fields"},{"title":"Get Systems","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/systems","href":"/api-reference/systems/get-systems"}]},{"group":"Organizational Units","pages":[{"title":"Get Organizational Units","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v2/org/organizational-units","href":"/api-reference/organizational-units/get-organizational-units"},{"title":"Get Organizational Unit","deprecated":true,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/organizational-units/{id}","href":"/api-reference/organizational-units/get-organizational-unit"},{"title":"Get Organizational Units","deprecated":true,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/organizational-units","href":"/api-reference/organizational-units/get-organizational-units-1"},{"title":"Get Organizational Unit","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v2/org/organizational-units/{id}","href":"/api-reference/organizational-units/get-organizational-unit-1"}]},{"group":"Jobs","pages":[{"title":"Get Job by ID","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/jobs/{job_id}","href":"/api-reference/jobs/get-job-by-id"},{"title":"Get Jobs","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/jobs","href":"/api-reference/jobs/get-jobs"}]},{"group":"DataEngine","pages":[{"title":"Get DataEngine Node Docs","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/data-engine/docs","href":"/api-reference/dataengine/get-dataengine-node-docs"}]},{"group":"Conditions","pages":[{"title":"Get Condition by ID","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/conditions/{condition_id}","href":"/api-reference/conditions/get-condition-by-id"},{"title":"Get Conditions","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/conditions","href":"/api-reference/conditions/get-conditions"}]},{"group":"Employees","pages":[{"title":"Get Employees","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/employees","href":"/api-reference/employees/get-employees"},{"title":"Create Employee","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json post /v1/org/employees","href":"/api-reference/employees/create-employee"},{"title":"Get Employee","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/employees/{employee_id}","href":"/api-reference/employees/get-employee"},{"title":"Put Employee","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json put /v1/org/employees/{employee_id}","href":"/api-reference/employees/put-employee"},{"title":"Patch Employee","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json patch /v1/org/employees/{employee_id}","href":"/api-reference/employees/patch-employee"},{"title":"Shape Employees","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json post /v1/org/employees/shape","href":"/api-reference/employees/shape-employees"}]},{"group":"Employee Competences","pages":[{"title":"Get Employee Competence","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/employee-competences/{employee_competence_id}","href":"/api-reference/employee-competences/get-employee-competence"},{"title":"Replace Employee Competence","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json put /v1/org/employee-competences/{employee_competence_id}","href":"/api-reference/employee-competences/replace-employee-competence"},{"title":"Delete Employee Competence","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json delete /v1/org/employee-competences/{employee_competence_id}","href":"/api-reference/employee-competences/delete-employee-competence"},{"title":"Update Employee Competence","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json patch /v1/org/employee-competences/{employee_competence_id}","href":"/api-reference/employee-competences/update-employee-competence"},{"title":"Get Employee Competences","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/employee-competences","href":"/api-reference/employee-competences/get-employee-competences"},{"title":"Create Employee Competence","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json post /v1/org/employee-competences","href":"/api-reference/employee-competences/create-employee-competence"}]},{"group":"Salary Transactions","pages":[{"title":"Get Salary Transactions","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/salary-transactions","href":"/api-reference/salary-transactions/get-salary-transactions"},{"title":"Create Salary Transaction","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json post /v1/org/salary-transactions","href":"/api-reference/salary-transactions/create-salary-transaction"},{"title":"Get Salary Transaction","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json get /v1/org/salary-transactions/{salary_transaction_id}","href":"/api-reference/salary-transactions/get-salary-transaction"},{"title":"Replace Salary Transaction","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json put /v1/org/salary-transactions/{salary_transaction_id}","href":"/api-reference/salary-transactions/replace-salary-transaction"},{"title":"Delete Salary Transaction","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json delete /v1/org/salary-transactions/{salary_transaction_id}","href":"/api-reference/salary-transactions/delete-salary-transaction"},{"title":"Update Salary Transaction","deprecated":null,"version":null,"openapi":"https://api.twine.se/spec/openapi.json patch /v1/org/salary-transactions/{salary_transaction_id}","href":"/api-reference/salary-transactions/update-salary-transaction"}]}]}]}]},"title":"Create System Integration - Twine Integrations","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DKJwRUt2.js","utils-CWD_VS3u.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-oFjciODD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C76WsxC3.js","snippetPresets-DvPMxpX_.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CuNQfndH.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BVFpVUoF.js","shallow-t59Jg5Kr.js","getApiPlaygroundDisplay-C_JZ4amX.js","CodeSnippet-CLRDnx_h.js","CodeSnippets-C2myU4kc.js","Page-7TwLLapg.js","getPastedJson-B-JaVXw7.js","icon-BA-iDhH3.js","MethodPill-D4qZABFp.js","DuplicateIcon-THIDKO1O.js","createIcon-CYYJwgFd.js","DynamicMarkdown-UGQuxDKp.js","SectionHeading-jYELb23h.js","axios-vUo_bRtp.js","Markdown-DKsLa3wy.js","clsx-CefdjKz2.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BaREnp3o.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-sgx_0XzF.js"]}