# The car on Monday and Tuesday stays; the train on Wednesday becomes a bus.curl -X PUT "https://api.dcycle.io/v2/employees/commuting/responses/9f8e7d6c-5b4a-4392-8f1e-0d9c8b7a6f5e" \ -H "x-api-key: ${DCYCLE_API_KEY}" \ -H "x-organization-id: ${DCYCLE_ORG_ID}" \ -H "Idempotency-Key: 6e5d4c3b-2a1f-4e0d-9c8b-7a6f5e4d3c2b" \ -H "Content-Type: application/json" \ -d '{ "start_date": "2026-01-01", "end_date": "2026-06-30", "modes": [ {"work_model": "in_person", "transport_type": "car", "vehicle_size": "medium", "fuel_type": "petrol", "carpool": true, "days": ["monday", "tuesday"], "distance_km": 18}, {"work_model": "in_person", "transport_type": "bus", "fuel_type": "diesel", "days": ["wednesday"], "distance_km": 32.5}, {"work_model": "telecommuting", "days": ["thursday", "friday"]} ], "custom_responses": {"parking": "company_car_park"} }'
import osimport uuidimport requestsurl = "https://api.dcycle.io/v2/employees/commuting/responses/9f8e7d6c-5b4a-4392-8f1e-0d9c8b7a6f5e"headers = {"x-api-key": os.environ["DCYCLE_API_KEY"], "x-organization-id": os.environ["DCYCLE_ORG_ID"]}stored = requests.get(url, headers=headers, timeout=30).json()modes = [ {key: value for key, value in mode.items() if key != "period_id" and value is not None} for mode in stored["modes"]]modes[1] |= {"transport_type": "bus", "fuel_type": "diesel"} # the train becomes a busresponse = requests.put( url, headers={**headers, "Idempotency-Key": str(uuid.uuid4())}, # keep it to retry this same change json={ "start_date": stored["start_date"], "end_date": stored["end_date"], "situation": stored["situation"], "modes": modes, "custom_responses": stored["custom_responses"], }, timeout=60,)response.raise_for_status()print(response.json()["id"])
{ "type": "https://code.dcycle.io/api-reference/errors#BULK_RECORDS_REJECTED", "title": "Unprocessable Entity", "status": 422, "code": "BULK_RECORDS_REJECTED", "detail": "1 of the submitted records are invalid; nothing was written.", "errors": [ { "source_row_index": 0, "client_row_id": null, "error_code": "COMMUTING_RESPONSE_OVERLAP", "error_params": { "field": "start_date", "response_id": "1c2d3e4f-5a6b-4c7d-8e9f-0a1b2c3d4e5f", "start_date": "2026-07-01", "end_date": "2026-12-31" } } ], "rejected": 1, "request_id": "b2248a31-0f1b-4a7d-83ce-b29bd5977b4c"}
{ "dry_run": true, "submitted": 1, "valid": 1 }
Replace Commuting Response (v2)
Write one commuting response again whole; the emissions that change are recalculated asynchronously
PUT
/
v2
/
employees
/
commuting
/
responses
/
{response_id}
# The car on Monday and Tuesday stays; the train on Wednesday becomes a bus.curl -X PUT "https://api.dcycle.io/v2/employees/commuting/responses/9f8e7d6c-5b4a-4392-8f1e-0d9c8b7a6f5e" \ -H "x-api-key: ${DCYCLE_API_KEY}" \ -H "x-organization-id: ${DCYCLE_ORG_ID}" \ -H "Idempotency-Key: 6e5d4c3b-2a1f-4e0d-9c8b-7a6f5e4d3c2b" \ -H "Content-Type: application/json" \ -d '{ "start_date": "2026-01-01", "end_date": "2026-06-30", "modes": [ {"work_model": "in_person", "transport_type": "car", "vehicle_size": "medium", "fuel_type": "petrol", "carpool": true, "days": ["monday", "tuesday"], "distance_km": 18}, {"work_model": "in_person", "transport_type": "bus", "fuel_type": "diesel", "days": ["wednesday"], "distance_km": 32.5}, {"work_model": "telecommuting", "days": ["thursday", "friday"]} ], "custom_responses": {"parking": "company_car_park"} }'
import osimport uuidimport requestsurl = "https://api.dcycle.io/v2/employees/commuting/responses/9f8e7d6c-5b4a-4392-8f1e-0d9c8b7a6f5e"headers = {"x-api-key": os.environ["DCYCLE_API_KEY"], "x-organization-id": os.environ["DCYCLE_ORG_ID"]}stored = requests.get(url, headers=headers, timeout=30).json()modes = [ {key: value for key, value in mode.items() if key != "period_id" and value is not None} for mode in stored["modes"]]modes[1] |= {"transport_type": "bus", "fuel_type": "diesel"} # the train becomes a busresponse = requests.put( url, headers={**headers, "Idempotency-Key": str(uuid.uuid4())}, # keep it to retry this same change json={ "start_date": stored["start_date"], "end_date": stored["end_date"], "situation": stored["situation"], "modes": modes, "custom_responses": stored["custom_responses"], }, timeout=60,)response.raise_for_status()print(response.json()["id"])
{ "type": "https://code.dcycle.io/api-reference/errors#BULK_RECORDS_REJECTED", "title": "Unprocessable Entity", "status": 422, "code": "BULK_RECORDS_REJECTED", "detail": "1 of the submitted records are invalid; nothing was written.", "errors": [ { "source_row_index": 0, "client_row_id": null, "error_code": "COMMUTING_RESPONSE_OVERLAP", "error_params": { "field": "start_date", "response_id": "1c2d3e4f-5a6b-4c7d-8e9f-0a1b2c3d4e5f", "start_date": "2026-07-01", "end_date": "2026-12-31" } } ], "rejected": 1, "request_id": "b2248a31-0f1b-4a7d-83ce-b29bd5977b4c"}
{ "dry_run": true, "submitted": 1, "valid": 1 }
← Employees APIChange a response of an employee: send it whole, as a record of
Create Commuting Periods (v2) without employee_id (the response
keeps its employee). Its dates, its modes and the answers to your own survey questions become what you send: a mode
you leave out is removed with its emissions. Read the response first with
Get Commuting Response (v2) and send it back with your changes.The response’s periods are rewritten in place: each transport keeps its commuting period (its id and history),
and only the periods whose emissions change are recalculated, so a period you did not touch keeps the emissions it
has. The request checks the body and writes it, then answers 202 Accepted with an
ingest job (operation: update) that calculates what changed. Follow it with
GET /v2/ingest-jobs/{id} or, for a job submitted with an API key, the
ingest_job.finished webhook.
Beta. Part of the bulk ingest API, in beta. The contract may still change before general availability.
The response_id can change. Changing the dates of a response that answers a survey sent to the employee moves
it to the employee’s response for the new dates, and that survey is pending again. Read the new id from the job
item’s entity_id (see Response) and use it from then on.
# The car on Monday and Tuesday stays; the train on Wednesday becomes a bus.curl -X PUT "https://api.dcycle.io/v2/employees/commuting/responses/9f8e7d6c-5b4a-4392-8f1e-0d9c8b7a6f5e" \ -H "x-api-key: ${DCYCLE_API_KEY}" \ -H "x-organization-id: ${DCYCLE_ORG_ID}" \ -H "Idempotency-Key: 6e5d4c3b-2a1f-4e0d-9c8b-7a6f5e4d3c2b" \ -H "Content-Type: application/json" \ -d '{ "start_date": "2026-01-01", "end_date": "2026-06-30", "modes": [ {"work_model": "in_person", "transport_type": "car", "vehicle_size": "medium", "fuel_type": "petrol", "carpool": true, "days": ["monday", "tuesday"], "distance_km": 18}, {"work_model": "in_person", "transport_type": "bus", "fuel_type": "diesel", "days": ["wednesday"], "distance_km": 32.5}, {"work_model": "telecommuting", "days": ["thursday", "friday"]} ], "custom_responses": {"parking": "company_car_park"} }'
import osimport uuidimport requestsurl = "https://api.dcycle.io/v2/employees/commuting/responses/9f8e7d6c-5b4a-4392-8f1e-0d9c8b7a6f5e"headers = {"x-api-key": os.environ["DCYCLE_API_KEY"], "x-organization-id": os.environ["DCYCLE_ORG_ID"]}stored = requests.get(url, headers=headers, timeout=30).json()modes = [ {key: value for key, value in mode.items() if key != "period_id" and value is not None} for mode in stored["modes"]]modes[1] |= {"transport_type": "bus", "fuel_type": "diesel"} # the train becomes a busresponse = requests.put( url, headers={**headers, "Idempotency-Key": str(uuid.uuid4())}, # keep it to retry this same change json={ "start_date": stored["start_date"], "end_date": stored["end_date"], "situation": stored["situation"], "modes": modes, "custom_responses": stored["custom_responses"], }, timeout=60,)response.raise_for_status()print(response.json()["id"])
The body is checked as a record of
Create Commuting Periods (v2) is: its fields, the
rules of its modes and its custom factors. New dates must not overlap another response of the employee; dates you
keep are not checked again. If anything is wrong the answer is 422 and nothing is written.
The response is rewritten in place. Each mode keeps the period of its transport (the car stays the car’s
period); a mode left over takes a period no mode kept, and the periods still left over are removed with their
emissions. The days at home go on the first transport’s period, as on create, and custom_responses are merged
into the response’s answers by key. A period whose transport, days, distance, vehicle or custom
factor changed loses its emissions; a period whose origin or destination alone changed, or that you sent as it
was, keeps them.
The job calculates the periods left without emissions, as on create: an in_person mode sent without
distance_km gets the distance between its origin and destination again. Send the distance_km you read to
keep it. Its item is failed with DISTANCE_CALCULATION_ERROR or CALCULATION_FAILED as on create, naming the
period_id.
When the chunk is done the job is completed (or completed_with_errors). For a job submitted with an API
key, ingest_job.finished is sent with "operation": "update".
The job’s item has the response’s entity_id after the rewrite. It is the same response_id unless you changed the
dates of a response that answers a survey sent to the employee: the response then moves to the employee’s response
for its new dates, and the survey it answered is pending again. Use the item’s entity_id from then on.
1 to 255 characters, one per change. Within 24 hours, the same key with the same route and body returns the
original job (with Idempotent-Replayed: true), also when that rewrite moved the response to another id; the same
key with another body or on another route is 422 IDEMPOTENCY_KEY_REUSED. See The Idempotency-Key.
Check only: the same 422, nothing written, no job; 200 with {"dry_run": true, "submitted": 1, "valid": 1}
when the body is valid. The Idempotency-Key header is still required, but a dry run does not check or store it.
Every mode of the response, 1 to 8, required when active: the in_person and telecommuting modes of
Create Commuting Periods (v2). A mode left out is
removed.
Answers to your organization’s own survey questions, by question key, merged into the stored ones: a key you
send replaces its answer, null clears it, and a key you leave out keeps its answer (the whole object left out keeps
them all). A formula column’s key is ignored (its value is computed), so the custom_responses that
Get Commuting Response (v2) reads can be sent back as they
are; a key that is not one of your questions is refused (CUSTOM_RESPONSE_INVALID).
202 Accepted with the job (entity_type: employee_commuting, operation: update) and a Location header to it.
GET /v2/ingest-jobs/{id}/items has one item, whose entity_id is the
response.
Problem details. The body’s codes in errors[].error_code of a 422 BULK_RECORDS_REJECTED,
with source_row_index 0: SCHEMA_INVALID, MULTIDB_CUSTOM_RECORD_NOT_FOUND_OR_DISABLED,
MULTIDB_CUSTOM_RECORD_INCOMPATIBLE_CATEGORY, COMMUTING_RESPONSE_OVERLAP (new dates overlap another response of the
employee, which error_params names) and CUSTOM_RESPONSE_INVALID, as described in
Create Commuting Periods (v2).Request-level errors: 404 NOT_FOUND when the response does not exist, has no period left, or its employee is
outside your organization’s perimeter (all answer the same); 401
for a missing or invalid API key, 403 LOGGED_USER_NOT_MEMBER when the key’s user is not a member of the
organization, 422 REQUEST_VALIDATION_FAILED without Idempotency-Key, 422 IDEMPOTENCY_KEY_REUSED,
409 IDEMPOTENCY_KEY_IN_PROGRESS, and 429 beyond the rate limits.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Dcycle Platform Docs","colors":{"primary":"#006ad4","light":"#006ad4","dark":"#006ad4"},"favicon":"https://mintcdn.com/dcyleio/3p55kB8fgLjSeubO/images/favicon.svg?fit=max\u0026auto=format\u0026n=3p55kB8fgLjSeubO\u0026q=85\u0026s=b60bb57384c71b7a5a59fbc458538887","api":{"params":{"expanded":"all"},"playground":{"display":"interactive","proxy":true},"examples":{"languages":["javascript","python","curl"],"prefill":true},"mdx":{"server":"https://api.dcycle.io"}},"navbar":{"links":[{"href":"https://app.dcycle.io","label":"App"}],"primary":{"type":"button","label":"Get API Key","href":"/docs/authentication#get-an-api-key"}},"search":{"prompt":"Search API endpoints and guides..."},"seo":{"indexing":"all"},"styling":{"eyebrows":"breadcrumbs","codeblocks":{"theme":{"light":"github-light","dark":"github-dark"}},"latex":false},"contextual":{"options":["copy","view","claude","chatgpt"],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"dcyleio","hasAudioNarration":false,"actualSubdomain":"dcyleio","customDomains":["code.dcycle.io"],"gitSource":{"type":"github","owner":"dcycle-by-wum","repo":"dcycle-backend-app","deployBranch":"main","contentDirectory":"docs/developer-center","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae9d5f0c81e6432c3210b04","collectionId":"a0cf4772-2032-4ea0-b3c5-1caf70882699","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae9d5f0c81e6432c3210b04"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6ae9d5f0c81e6432c3210b04","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"API","count":447},{"language":"default","tag":"Guides","count":48},{"language":"default","tag":"CLI","count":40},{"language":"default","tag":"Employees","count":38},{"language":"default","tag":"Vehicles","count":38},{"language":"default","tag":"Own Workforce","count":37},{"language":"default","tag":"Custom KPI","count":33},{"language":"default","tag":"Commands","count":33},{"language":"default","tag":"Logistics","count":32},{"language":"default","tag":"MCP","count":32}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","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":"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":"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":"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":"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":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","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":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","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},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/employees/commuting-response-replace-v2","slug":"/api-reference/employees/commuting-response-replace-v2","pageMetadata":{"title":"Replace Commuting Response (v2)","api":"PUT /v2/employees/commuting/responses/{response_id}","description":"Write one commuting response again whole; the emissions that change are recalculated asynchronously","tag":"BETA","href":"/api-reference/employees/commuting-response-replace-v2"},"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: \"Write one commuting response again whole; the emissions that change are recalculated asynchronously\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Card,CardGroup,Heading,ParamField,Warning}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:_jsx(_components.a,{href:`/api-reference/employees/overview`,children:`← Employees API`})}),`\n`,_jsxs(_components.p,{children:[`Change a response of an employee: send it `,_jsx(_components.strong,{children:`whole`}),`, as a record of\n`,_jsx(_components.a,{href:`/api-reference/employees/commuting-create-v2`,children:`Create Commuting Periods (v2)`}),` without `,_jsx(_components.code,{children:`employee_id`}),` (the response\nkeeps its employee). Its dates, its modes and the answers to your own survey questions become what you send: a mode\nyou leave out is removed with its emissions. Read the response first with\n`,_jsx(_components.a,{href:`/api-reference/employees/commuting-response-get-v2`,children:`Get Commuting Response (v2)`}),` and send it back with your changes.`]}),`\n`,_jsxs(_components.p,{children:[`The response’s periods are rewritten `,_jsx(_components.strong,{children:`in place`}),`: each transport keeps its commuting period (its `,_jsx(_components.code,{children:`id`}),` and history),\nand only the periods whose emissions change are recalculated, so a period you did not touch keeps the emissions it\nhas. The request checks the body and writes it, then answers `,_jsx(_components.code,{children:`202 Accepted`}),` with an\n`,_jsx(_components.a,{href:`/api-reference/ingest-jobs/get`,children:`ingest job`}),` (`,_jsx(_components.code,{children:`operation: update`}),`) that calculates what changed. Follow it with\n`,_jsx(_components.a,{href:`/api-reference/ingest-jobs/get`,children:_jsx(_components.code,{children:`GET /v2/ingest-jobs/{id}`})}),` or, for a job submitted with an API key, the\n`,_jsx(_components.a,{href:`/api-reference/webhooks/overview`,children:_jsx(_components.code,{children:`ingest_job.finished`})}),` webhook.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Beta.`}),` Part of the bulk ingest API, in beta. The contract may still change before general availability.`]})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsxs(_components.strong,{children:[`The `,_jsx(_components.code,{children:`response_id`}),` can change.`]}),` Changing the dates of a response that answers a survey sent to the employee moves\nit to the employee’s response for the new dates, and that survey is pending again. Read the new id from the job\nitem’s `,_jsx(_components.code,{children:`entity_id`}),` (see `,_jsx(_components.a,{href:`#response`,children:`Response`}),`) and use it from then on.`]})}),`\n`,`\n`,`\n`,_jsx(Heading,{level:`2`,id:`how-it-works`,children:`How it works`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`The body is checked`}),` as a record of\n`,_jsx(_components.a,{href:`/api-reference/employees/commuting-create-v2#common-mistakes`,children:`Create Commuting Periods (v2)`}),` is: its fields, the\nrules of its modes and its custom factors. New dates must not overlap another response of the employee; dates you\nkeep are not checked again. If anything is wrong the answer is `,_jsx(_components.code,{children:`422`}),` and nothing is written.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`The response is rewritten in place.`}),` Each mode keeps the period of its transport (the car stays the car’s\nperiod); a mode left over takes a period no mode kept, and the periods still left over are removed with their\nemissions. The days at home go on the first transport’s period, as on create, and `,_jsx(_components.code,{children:`custom_responses`}),` are merged\ninto the response’s answers by key. A period whose transport, days, distance, vehicle or custom\nfactor changed loses its emissions; a period whose `,_jsx(_components.code,{children:`origin`}),` or `,_jsx(_components.code,{children:`destination`}),` alone changed, or that you sent as it\nwas, keeps them.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`The job calculates the periods left without emissions`}),`, as on create: an `,_jsx(_components.code,{children:`in_person`}),` mode sent without\n`,_jsx(_components.code,{children:`distance_km`}),` gets the distance between its `,_jsx(_components.code,{children:`origin`}),` and `,_jsx(_components.code,{children:`destination`}),` again. Send the `,_jsx(_components.code,{children:`distance_km`}),` you read to\nkeep it. Its item is `,_jsx(_components.code,{children:`failed`}),` with `,_jsx(_components.code,{children:`DISTANCE_CALCULATION_ERROR`}),` or `,_jsx(_components.code,{children:`CALCULATION_FAILED`}),` as on create, naming the\n`,_jsx(_components.code,{children:`period_id`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`When the chunk is done`}),` the job is `,_jsx(_components.code,{children:`completed`}),` (or `,_jsx(_components.code,{children:`completed_with_errors`}),`). For a job submitted with an API\nkey, `,_jsx(_components.code,{children:`ingest_job.finished`}),` is sent with `,_jsx(_components.code,{children:`\"operation\": \"update\"`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`The job’s item has the response’s `,_jsx(_components.code,{children:`entity_id`}),` after the rewrite. It is the same `,_jsx(_components.code,{children:`response_id`}),` unless you changed the\ndates of a response that answers a survey sent to the employee: the response then moves to the employee’s response\nfor its new dates, and the survey it answered is pending again. Use the item’s `,_jsx(_components.code,{children:`entity_id`}),` from then on.`]}),`\n`,_jsx(Heading,{level:`2`,id:`request`,children:`Request`}),`\n`,_jsx(Heading,{level:`3`,id:`headers`,children:`Headers`}),`\n`,_jsx(ParamField,{header:`x-api-key`,type:`string`,required:true,id:`param-x-api-key`,children:_jsxs(_components.p,{children:[`Your API key (see `,_jsx(_components.a,{href:`/api-reference/introduction#authentication`,children:`Authentication`}),`).`]})}),`\n`,_jsx(ParamField,{header:`x-organization-id`,type:`string`,required:true,id:`param-x-organization-id`,children:_jsxs(_components.p,{children:[`Your organization. The responses of its employees, and of those of the organizations under it that you can write\nto (its `,_jsx(_components.a,{href:`/api-reference/ingest-jobs/overview#perimeter`,children:`perimeter`}),`), can be replaced.`]})}),`\n`,_jsx(ParamField,{header:`Idempotency-Key`,type:`string`,required:true,id:`param-idempotency-key`,children:_jsxs(_components.p,{children:[`1 to 255 characters, one per change. Within 24 hours, the same key with the same route and body returns the\noriginal job (with `,_jsx(_components.code,{children:`Idempotent-Replayed: true`}),`), also when that rewrite moved the response to another id; the same\nkey with another body or on another route is `,_jsx(_components.code,{children:`422 IDEMPOTENCY_KEY_REUSED`}),`. See `,_jsx(_components.a,{href:`/api-reference/ingest-jobs/overview#the-idempotency-key`,children:`The Idempotency-Key`}),`.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`path-parameters`,children:`Path Parameters`}),`\n`,_jsx(ParamField,{path:`response_id`,type:`uuid`,required:true,id:`param-response-id`,children:_jsxs(_components.p,{children:[`The response: the `,_jsx(_components.code,{children:`entity_id`}),` of its create job’s item, or the `,_jsx(_components.code,{children:`id`}),` that\n`,_jsx(_components.a,{href:`/api-reference/employees/commuting-response-get-v2`,children:`Get Commuting Response (v2)`}),` answers.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`query-parameters`,children:`Query Parameters`}),`\n`,_jsx(ParamField,{query:`dry_run`,type:`boolean`,default:`false`,id:`param-dry-run`,children:_jsxs(_components.p,{children:[`Check only: the same `,_jsx(_components.code,{children:`422`}),`, nothing written, no job; `,_jsx(_components.code,{children:`200`}),` with `,_jsx(_components.code,{children:`{\"dry_run\": true, \"submitted\": 1, \"valid\": 1}`}),`\nwhen the body is valid. The `,_jsx(_components.code,{children:`Idempotency-Key`}),` header is still required, but a dry run does not check or store it.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`body-parameters`,children:`Body Parameters`}),`\n`,_jsxs(_components.p,{children:[`The fields of a record of `,_jsx(_components.a,{href:`/api-reference/employees/commuting-create-v2#body-parameters`,children:`Create Commuting Periods (v2)`}),`\nbut `,_jsx(_components.code,{children:`employee_id`}),` and `,_jsx(_components.code,{children:`client_row_id`}),`. A field not listed here is rejected (`,_jsx(_components.code,{children:`SCHEMA_INVALID`}),`).`]}),`\n`,_jsx(ParamField,{body:`start_date`,type:`date`,required:true,id:`param-start-date`,children:_jsxs(_components.p,{children:[`First day of the period, `,_jsx(_components.a,{href:`/api-reference/ingest-jobs/overview#activity-dates`,children:`tomorrow in UTC at the latest`}),`.`]})}),`\n`,_jsx(ParamField,{body:`end_date`,type:`date`,required:true,id:`param-end-date`,children:_jsxs(_components.p,{children:[`Last day of the period, on or after `,_jsx(_components.code,{children:`start_date`}),`, Dec 31 of the current year at the latest.`]})}),`\n`,_jsx(ParamField,{body:`situation`,type:`string`,default:`active`,id:`param-situation`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`active`}),`, `,_jsx(_components.code,{children:`inactive`}),` (on leave) or `,_jsx(_components.code,{children:`terminated`}),`. An `,_jsx(_components.code,{children:`inactive`}),` or `,_jsx(_components.code,{children:`terminated`}),` response sends no `,_jsx(_components.code,{children:`modes`}),`.`]})}),`\n`,_jsx(ParamField,{body:`modes`,type:`array[object]`,id:`param-modes`,children:_jsxs(_components.p,{children:[`Every mode of the response, 1 to 8, required when `,_jsx(_components.code,{children:`active`}),`: the `,_jsx(_components.code,{children:`in_person`}),` and `,_jsx(_components.code,{children:`telecommuting`}),` modes of\n`,_jsx(_components.a,{href:`/api-reference/employees/commuting-create-v2#body-parameters`,children:`Create Commuting Periods (v2)`}),`. A mode left out is\nremoved.`]})}),`\n`,_jsx(ParamField,{body:`custom_responses`,type:`object`,id:`param-custom-responses`,children:_jsxs(_components.p,{children:[`Answers to your organization’s own survey questions, by question key, `,_jsx(_components.strong,{children:`merged`}),` into the stored ones: a key you\nsend replaces its answer, `,_jsx(_components.code,{children:`null`}),` clears it, and a key you leave out keeps its answer (the whole object left out keeps\nthem all). A formula column’s key is ignored (its value is computed), so the `,_jsx(_components.code,{children:`custom_responses`}),` that\n`,_jsx(_components.a,{href:`/api-reference/employees/commuting-response-get-v2`,children:`Get Commuting Response (v2)`}),` reads can be sent back as they\nare; a key that is not one of your questions is refused (`,_jsx(_components.code,{children:`CUSTOM_RESPONSE_INVALID`}),`).`]})}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`202 Accepted`}),` with the job (`,_jsx(_components.code,{children:`entity_type: employee_commuting`}),`, `,_jsx(_components.code,{children:`operation: update`}),`) and a `,_jsx(_components.code,{children:`Location`}),` header to it.\n`,_jsx(_components.a,{href:`/api-reference/ingest-jobs/list-items`,children:_jsx(_components.code,{children:`GET /v2/ingest-jobs/{id}/items`})}),` has one item, whose `,_jsx(_components.code,{children:`entity_id`}),` is the\nresponse.`]}),`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/api-reference/errors`,children:`Problem details`}),`. The body’s codes in `,_jsx(_components.code,{children:`errors[].error_code`}),` of a `,_jsx(_components.code,{children:`422 BULK_RECORDS_REJECTED`}),`,\nwith `,_jsx(_components.code,{children:`source_row_index`}),` 0: `,_jsx(_components.code,{children:`SCHEMA_INVALID`}),`, `,_jsx(_components.code,{children:`MULTIDB_CUSTOM_RECORD_NOT_FOUND_OR_DISABLED`}),`,\n`,_jsx(_components.code,{children:`MULTIDB_CUSTOM_RECORD_INCOMPATIBLE_CATEGORY`}),`, `,_jsx(_components.code,{children:`COMMUTING_RESPONSE_OVERLAP`}),` (new dates overlap another response of the\nemployee, which `,_jsx(_components.code,{children:`error_params`}),` names) and `,_jsx(_components.code,{children:`CUSTOM_RESPONSE_INVALID`}),`, as described in\n`,_jsx(_components.a,{href:`/api-reference/employees/commuting-create-v2#errors`,children:`Create Commuting Periods (v2)`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Request-level errors: `,_jsx(_components.code,{children:`404 NOT_FOUND`}),` when the response does not exist, has no period left, or its employee is\noutside your organization’s `,_jsx(_components.a,{href:`/api-reference/ingest-jobs/overview#perimeter`,children:`perimeter`}),` (all answer the same); `,_jsx(_components.code,{children:`401`}),`\nfor a missing or invalid API key, `,_jsx(_components.code,{children:`403 LOGGED_USER_NOT_MEMBER`}),` when the key’s user is not a member of the\norganization, `,_jsx(_components.code,{children:`422 REQUEST_VALIDATION_FAILED`}),` without `,_jsx(_components.code,{children:`Idempotency-Key`}),`, `,_jsx(_components.code,{children:`422 IDEMPOTENCY_KEY_REUSED`}),`,\n`,_jsx(_components.code,{children:`409 IDEMPOTENCY_KEY_IN_PROGRESS`}),`, and `,_jsx(_components.code,{children:`429`}),` beyond the `,_jsx(_components.a,{href:`/api-reference/rate-limits`,children:`rate limits`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`related-endpoints`,children:`Related Endpoints`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Get Commuting Response (v2)`,icon:`magnifying-glass`,href:`/api-reference/employees/commuting-response-get-v2`,children:_jsx(_components.p,{children:`Read the response to change`})}),_jsx(Card,{title:`Create Commuting Periods (v2)`,icon:`plus`,href:`/api-reference/employees/commuting-create-v2`,children:_jsx(_components.p,{children:`The record’s fields and rules`})}),_jsx(Card,{title:`Delete Commuting Periods (v2)`,icon:`trash`,href:`/api-reference/employees/commuting-delete-v2`,children:_jsx(_components.p,{children:`Delete whole responses`})}),_jsx(Card,{title:`Get Ingest Job`,icon:`magnifying-glass`,href:`/api-reference/ingest-jobs/get`,children:_jsx(_components.p,{children:`Follow the recalculation`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"github-light","dark":"github-dark"}},"config":{},"pageMetadata":{"title":"Replace Commuting Response (v2)","api":"PUT /v2/employees/commuting/responses/{response_id}","description":"Write one commuting response again whole; the emissions that change are recalculated asynchronously","tag":"BETA","href":"/api-reference/employees/commuting-response-replace-v2"}}},"mdxSourceWithNoJs":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,..._provideComponents(),...props.components},{Card,CardGroup,CodeBlock,Heading,ParamField,RequestExample,ResponseExample,Warning}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!RequestExample)_missingMdxReference(`RequestExample`,true);if(!ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:_jsx(_components.a,{href:`/api-reference/employees/overview`,children:`← Employees API`})}),`\n`,_jsxs(_components.p,{children:[`Change a response of an employee: send it `,_jsx(_components.strong,{children:`whole`}),`, as a record of\n`,_jsx(_components.a,{href:`/api-reference/employees/commuting-create-v2`,children:`Create Commuting Periods (v2)`}),` without `,_jsx(_components.code,{children:`employee_id`}),` (the response\nkeeps its employee). Its dates, its modes and the answers to your own survey questions become what you send: a mode\nyou leave out is removed with its emissions. Read the response first with\n`,_jsx(_components.a,{href:`/api-reference/employees/commuting-response-get-v2`,children:`Get Commuting Response (v2)`}),` and send it back with your changes.`]}),`\n`,_jsxs(_components.p,{children:[`The response’s periods are rewritten `,_jsx(_components.strong,{children:`in place`}),`: each transport keeps its commuting period (its `,_jsx(_components.code,{children:`id`}),` and history),\nand only the periods whose emissions change are recalculated, so a period you did not touch keeps the emissions it\nhas. The request checks the body and writes it, then answers `,_jsx(_components.code,{children:`202 Accepted`}),` with an\n`,_jsx(_components.a,{href:`/api-reference/ingest-jobs/get`,children:`ingest job`}),` (`,_jsx(_components.code,{children:`operation: update`}),`) that calculates what changed. Follow it with\n`,_jsx(_components.a,{href:`/api-reference/ingest-jobs/get`,children:_jsx(_components.code,{children:`GET /v2/ingest-jobs/{id}`})}),` or, for a job submitted with an API key, the\n`,_jsx(_components.a,{href:`/api-reference/webhooks/overview`,children:_jsx(_components.code,{children:`ingest_job.finished`})}),` webhook.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Beta.`}),` Part of the bulk ingest API, in beta. The contract may still change before general availability.`]})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsxs(_components.strong,{children:[`The `,_jsx(_components.code,{children:`response_id`}),` can change.`]}),` Changing the dates of a response that answers a survey sent to the employee moves\nit to the employee’s response for the new dates, and that survey is pending again. Read the new id from the job\nitem’s `,_jsx(_components.code,{children:`entity_id`}),` (see `,_jsx(_components.a,{href:`#response`,children:`Response`}),`) and use it from then on.`]})}),`\n`,_jsxs(RequestExample,{children:[_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`18`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`18`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6A737D`,\"--shiki-dark\":`#6A737D`},children:`# The car on Monday and Tuesday stays; the train on Wednesday becomes a bus.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`curl`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` -X`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` PUT`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"https://api.dcycle.io/v2/employees/commuting/responses/9f8e7d6c-5b4a-4392-8f1e-0d9c8b7a6f5e\"`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` -H`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:' \"x-api-key: ${'}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`DCYCLE_API_KEY`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`}\"`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` -H`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:' \"x-organization-id: ${'}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`DCYCLE_ORG_ID`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`}\"`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` -H`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"Idempotency-Key: 6e5d4c3b-2a1f-4e0d-9c8b-7a6f5e4d3c2b\"`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` -H`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` -d`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"start_date\": \"2026-01-01\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"end_date\": \"2026-06-30\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"modes\": [`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` {\"work_model\": \"in_person\", \"transport_type\": \"car\", \"vehicle_size\": \"medium\", \"fuel_type\": \"petrol\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"carpool\": true, \"days\": [\"monday\", \"tuesday\"], \"distance_km\": 18},`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` {\"work_model\": \"in_person\", \"transport_type\": \"bus\", \"fuel_type\": \"diesel\", \"days\": [\"wednesday\"],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"distance_km\": 32.5},`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` {\"work_model\": \"telecommuting\", \"days\": [\"thursday\", \"friday\"]}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` ],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"custom_responses\": {\"parking\": \"company_car_park\"}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Python`,numberOfLines:`28`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`28`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`import`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` os`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`import`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` uuid`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`import`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` requests`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`url `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"https://api.dcycle.io/v2/employees/commuting/responses/9f8e7d6c-5b4a-4392-8f1e-0d9c8b7a6f5e\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`headers `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` {`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"x-api-key\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: os.environ[`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"DCYCLE_API_KEY\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`], `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"x-organization-id\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: os.environ[`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"DCYCLE_ORG_ID\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`]}`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`stored `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` requests.get(url, `}),_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#FFAB70`},children:`headers`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`headers, `}),_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#FFAB70`},children:`timeout`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`30`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`).json()`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`modes `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` {key: value `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`for`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` key, value `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`in`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` mode.items() `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`if`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` key `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`!=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"period_id\"`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:` and`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` value `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`is`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:` not`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` None`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`}`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:` for`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` mode `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`in`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` stored[`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"modes\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`]`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`modes[`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`1`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`] `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`|=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` {`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"transport_type\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"bus\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`, `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"fuel_type\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"diesel\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`} `}),_jsx(_components.span,{style:{color:`#6A737D`,\"--shiki-dark\":`#6A737D`},children:`# the train becomes a bus`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`response `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` requests.put(`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` url,`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#FFAB70`},children:` headers`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`{`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`**`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`headers, `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"Idempotency-Key\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`str`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`(uuid.uuid4())}, `}),_jsx(_components.span,{style:{color:`#6A737D`,\"--shiki-dark\":`#6A737D`},children:`# keep it to retry this same change`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#FFAB70`},children:` json`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"start_date\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: stored[`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"start_date\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"end_date\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: stored[`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"end_date\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"situation\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: stored[`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"situation\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"modes\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: modes,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"custom_responses\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: stored[`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"custom_responses\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#FFAB70`},children:` timeout`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`60`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`response.raise_for_status()`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`print`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`(response.json()[`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"id\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`])`})]}),`\n`]})})})]}),`\n`,_jsxs(ResponseExample,{children:[_jsx(CodeBlock,{filename:`202`,numberOfLines:`16`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`16`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"4a3b2c1d-0e9f-4a8b-b7c6-d5e4f3a2b1c0\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"processing\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"entity_type\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"employee_commuting\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"operation\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"update\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"source\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"api_bulk\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"counts\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: { `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`\"submitted\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`1`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`, `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`\"succeeded\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`0`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`, `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`\"failed\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`0`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"chunks_total\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`1`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"chunks_done\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`0`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"created_at\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"2026-10-29T09:20:31.877Z\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"finished_at\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`null`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"links\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"self\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"/v2/ingest-jobs/4a3b2c1d-0e9f-4a8b-b7c6-d5e4f3a2b1c0\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"items\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"/v2/ingest-jobs/4a3b2c1d-0e9f-4a8b-b7c6-d5e4f3a2b1c0/items\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`422`,numberOfLines:`22`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`22`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"https://code.dcycle.io/api-reference/errors#BULK_RECORDS_REJECTED\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"title\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"Unprocessable Entity\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`422`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"code\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"BULK_RECORDS_REJECTED\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"detail\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"1 of the submitted records are invalid; nothing was written.\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"errors\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"source_row_index\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`0`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"client_row_id\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`null`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"error_code\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"COMMUTING_RESPONSE_OVERLAP\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"error_params\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"field\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"start_date\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"response_id\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"1c2d3e4f-5a6b-4c7d-8e9f-0a1b2c3d4e5f\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"start_date\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"2026-07-01\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"end_date\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"2026-12-31\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"rejected\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`1`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"request_id\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"b2248a31-0f1b-4a7d-83ce-b29bd5977b4c\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`200 (dry_run=true)`,numberOfLines:`1`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`{ `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`\"dry_run\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`true`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`, `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`\"submitted\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`1`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`, `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`\"valid\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`1`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` }`})]}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`how-it-works`,children:`How it works`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`The body is checked`}),` as a record of\n`,_jsx(_components.a,{href:`/api-reference/employees/commuting-create-v2#common-mistakes`,children:`Create Commuting Periods (v2)`}),` is: its fields, the\nrules of its modes and its custom factors. New dates must not overlap another response of the employee; dates you\nkeep are not checked again. If anything is wrong the answer is `,_jsx(_components.code,{children:`422`}),` and nothing is written.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`The response is rewritten in place.`}),` Each mode keeps the period of its transport (the car stays the car’s\nperiod); a mode left over takes a period no mode kept, and the periods still left over are removed with their\nemissions. The days at home go on the first transport’s period, as on create, and `,_jsx(_components.code,{children:`custom_responses`}),` are merged\ninto the response’s answers by key. A period whose transport, days, distance, vehicle or custom\nfactor changed loses its emissions; a period whose `,_jsx(_components.code,{children:`origin`}),` or `,_jsx(_components.code,{children:`destination`}),` alone changed, or that you sent as it\nwas, keeps them.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`The job calculates the periods left without emissions`}),`, as on create: an `,_jsx(_components.code,{children:`in_person`}),` mode sent without\n`,_jsx(_components.code,{children:`distance_km`}),` gets the distance between its `,_jsx(_components.code,{children:`origin`}),` and `,_jsx(_components.code,{children:`destination`}),` again. Send the `,_jsx(_components.code,{children:`distance_km`}),` you read to\nkeep it. Its item is `,_jsx(_components.code,{children:`failed`}),` with `,_jsx(_components.code,{children:`DISTANCE_CALCULATION_ERROR`}),` or `,_jsx(_components.code,{children:`CALCULATION_FAILED`}),` as on create, naming the\n`,_jsx(_components.code,{children:`period_id`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`When the chunk is done`}),` the job is `,_jsx(_components.code,{children:`completed`}),` (or `,_jsx(_components.code,{children:`completed_with_errors`}),`). For a job submitted with an API\nkey, `,_jsx(_components.code,{children:`ingest_job.finished`}),` is sent with `,_jsx(_components.code,{children:`\"operation\": \"update\"`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`The job’s item has the response’s `,_jsx(_components.code,{children:`entity_id`}),` after the rewrite. It is the same `,_jsx(_components.code,{children:`response_id`}),` unless you changed the\ndates of a response that answers a survey sent to the employee: the response then moves to the employee’s response\nfor its new dates, and the survey it answered is pending again. Use the item’s `,_jsx(_components.code,{children:`entity_id`}),` from then on.`]}),`\n`,_jsx(Heading,{level:`2`,id:`request`,children:`Request`}),`\n`,_jsx(Heading,{level:`3`,id:`headers`,children:`Headers`}),`\n`,_jsx(ParamField,{header:`x-api-key`,type:`string`,required:true,id:`param-x-api-key`,children:_jsxs(_components.p,{children:[`Your API key (see `,_jsx(_components.a,{href:`/api-reference/introduction#authentication`,children:`Authentication`}),`).`]})}),`\n`,_jsx(ParamField,{header:`x-organization-id`,type:`string`,required:true,id:`param-x-organization-id`,children:_jsxs(_components.p,{children:[`Your organization. The responses of its employees, and of those of the organizations under it that you can write\nto (its `,_jsx(_components.a,{href:`/api-reference/ingest-jobs/overview#perimeter`,children:`perimeter`}),`), can be replaced.`]})}),`\n`,_jsx(ParamField,{header:`Idempotency-Key`,type:`string`,required:true,id:`param-idempotency-key`,children:_jsxs(_components.p,{children:[`1 to 255 characters, one per change. Within 24 hours, the same key with the same route and body returns the\noriginal job (with `,_jsx(_components.code,{children:`Idempotent-Replayed: true`}),`), also when that rewrite moved the response to another id; the same\nkey with another body or on another route is `,_jsx(_components.code,{children:`422 IDEMPOTENCY_KEY_REUSED`}),`. See `,_jsx(_components.a,{href:`/api-reference/ingest-jobs/overview#the-idempotency-key`,children:`The Idempotency-Key`}),`.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`path-parameters`,children:`Path Parameters`}),`\n`,_jsx(ParamField,{path:`response_id`,type:`uuid`,required:true,id:`param-response-id`,children:_jsxs(_components.p,{children:[`The response: the `,_jsx(_components.code,{children:`entity_id`}),` of its create job’s item, or the `,_jsx(_components.code,{children:`id`}),` that\n`,_jsx(_components.a,{href:`/api-reference/employees/commuting-response-get-v2`,children:`Get Commuting Response (v2)`}),` answers.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`query-parameters`,children:`Query Parameters`}),`\n`,_jsx(ParamField,{query:`dry_run`,type:`boolean`,default:`false`,id:`param-dry-run`,children:_jsxs(_components.p,{children:[`Check only: the same `,_jsx(_components.code,{children:`422`}),`, nothing written, no job; `,_jsx(_components.code,{children:`200`}),` with `,_jsx(_components.code,{children:`{\"dry_run\": true, \"submitted\": 1, \"valid\": 1}`}),`\nwhen the body is valid. The `,_jsx(_components.code,{children:`Idempotency-Key`}),` header is still required, but a dry run does not check or store it.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`body-parameters`,children:`Body Parameters`}),`\n`,_jsxs(_components.p,{children:[`The fields of a record of `,_jsx(_components.a,{href:`/api-reference/employees/commuting-create-v2#body-parameters`,children:`Create Commuting Periods (v2)`}),`\nbut `,_jsx(_components.code,{children:`employee_id`}),` and `,_jsx(_components.code,{children:`client_row_id`}),`. A field not listed here is rejected (`,_jsx(_components.code,{children:`SCHEMA_INVALID`}),`).`]}),`\n`,_jsx(ParamField,{body:`start_date`,type:`date`,required:true,id:`param-start-date`,children:_jsxs(_components.p,{children:[`First day of the period, `,_jsx(_components.a,{href:`/api-reference/ingest-jobs/overview#activity-dates`,children:`tomorrow in UTC at the latest`}),`.`]})}),`\n`,_jsx(ParamField,{body:`end_date`,type:`date`,required:true,id:`param-end-date`,children:_jsxs(_components.p,{children:[`Last day of the period, on or after `,_jsx(_components.code,{children:`start_date`}),`, Dec 31 of the current year at the latest.`]})}),`\n`,_jsx(ParamField,{body:`situation`,type:`string`,default:`active`,id:`param-situation`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`active`}),`, `,_jsx(_components.code,{children:`inactive`}),` (on leave) or `,_jsx(_components.code,{children:`terminated`}),`. An `,_jsx(_components.code,{children:`inactive`}),` or `,_jsx(_components.code,{children:`terminated`}),` response sends no `,_jsx(_components.code,{children:`modes`}),`.`]})}),`\n`,_jsx(ParamField,{body:`modes`,type:`array[object]`,id:`param-modes`,children:_jsxs(_components.p,{children:[`Every mode of the response, 1 to 8, required when `,_jsx(_components.code,{children:`active`}),`: the `,_jsx(_components.code,{children:`in_person`}),` and `,_jsx(_components.code,{children:`telecommuting`}),` modes of\n`,_jsx(_components.a,{href:`/api-reference/employees/commuting-create-v2#body-parameters`,children:`Create Commuting Periods (v2)`}),`. A mode left out is\nremoved.`]})}),`\n`,_jsx(ParamField,{body:`custom_responses`,type:`object`,id:`param-custom-responses`,children:_jsxs(_components.p,{children:[`Answers to your organization’s own survey questions, by question key, `,_jsx(_components.strong,{children:`merged`}),` into the stored ones: a key you\nsend replaces its answer, `,_jsx(_components.code,{children:`null`}),` clears it, and a key you leave out keeps its answer (the whole object left out keeps\nthem all). A formula column’s key is ignored (its value is computed), so the `,_jsx(_components.code,{children:`custom_responses`}),` that\n`,_jsx(_components.a,{href:`/api-reference/employees/commuting-response-get-v2`,children:`Get Commuting Response (v2)`}),` reads can be sent back as they\nare; a key that is not one of your questions is refused (`,_jsx(_components.code,{children:`CUSTOM_RESPONSE_INVALID`}),`).`]})}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`202 Accepted`}),` with the job (`,_jsx(_components.code,{children:`entity_type: employee_commuting`}),`, `,_jsx(_components.code,{children:`operation: update`}),`) and a `,_jsx(_components.code,{children:`Location`}),` header to it.\n`,_jsx(_components.a,{href:`/api-reference/ingest-jobs/list-items`,children:_jsx(_components.code,{children:`GET /v2/ingest-jobs/{id}/items`})}),` has one item, whose `,_jsx(_components.code,{children:`entity_id`}),` is the\nresponse.`]}),`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/api-reference/errors`,children:`Problem details`}),`. The body’s codes in `,_jsx(_components.code,{children:`errors[].error_code`}),` of a `,_jsx(_components.code,{children:`422 BULK_RECORDS_REJECTED`}),`,\nwith `,_jsx(_components.code,{children:`source_row_index`}),` 0: `,_jsx(_components.code,{children:`SCHEMA_INVALID`}),`, `,_jsx(_components.code,{children:`MULTIDB_CUSTOM_RECORD_NOT_FOUND_OR_DISABLED`}),`,\n`,_jsx(_components.code,{children:`MULTIDB_CUSTOM_RECORD_INCOMPATIBLE_CATEGORY`}),`, `,_jsx(_components.code,{children:`COMMUTING_RESPONSE_OVERLAP`}),` (new dates overlap another response of the\nemployee, which `,_jsx(_components.code,{children:`error_params`}),` names) and `,_jsx(_components.code,{children:`CUSTOM_RESPONSE_INVALID`}),`, as described in\n`,_jsx(_components.a,{href:`/api-reference/employees/commuting-create-v2#errors`,children:`Create Commuting Periods (v2)`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Request-level errors: `,_jsx(_components.code,{children:`404 NOT_FOUND`}),` when the response does not exist, has no period left, or its employee is\noutside your organization’s `,_jsx(_components.a,{href:`/api-reference/ingest-jobs/overview#perimeter`,children:`perimeter`}),` (all answer the same); `,_jsx(_components.code,{children:`401`}),`\nfor a missing or invalid API key, `,_jsx(_components.code,{children:`403 LOGGED_USER_NOT_MEMBER`}),` when the key’s user is not a member of the\norganization, `,_jsx(_components.code,{children:`422 REQUEST_VALIDATION_FAILED`}),` without `,_jsx(_components.code,{children:`Idempotency-Key`}),`, `,_jsx(_components.code,{children:`422 IDEMPOTENCY_KEY_REUSED`}),`,\n`,_jsx(_components.code,{children:`409 IDEMPOTENCY_KEY_IN_PROGRESS`}),`, and `,_jsx(_components.code,{children:`429`}),` beyond the `,_jsx(_components.a,{href:`/api-reference/rate-limits`,children:`rate limits`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`related-endpoints`,children:`Related Endpoints`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Get Commuting Response (v2)`,icon:`magnifying-glass`,href:`/api-reference/employees/commuting-response-get-v2`,children:_jsx(_components.p,{children:`Read the response to change`})}),_jsx(Card,{title:`Create Commuting Periods (v2)`,icon:`plus`,href:`/api-reference/employees/commuting-create-v2`,children:_jsx(_components.p,{children:`The record’s fields and rules`})}),_jsx(Card,{title:`Delete Commuting Periods (v2)`,icon:`trash`,href:`/api-reference/employees/commuting-delete-v2`,children:_jsx(_components.p,{children:`Delete whole responses`})}),_jsx(Card,{title:`Get Ingest Job`,icon:`magnifying-glass`,href:`/api-reference/ingest-jobs/get`,children:_jsx(_components.p,{children:`Follow the recalculation`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"github-light","dark":"github-dark"}},"config":{},"pageMetadata":{"title":"Replace Commuting Response (v2)","api":"PUT /v2/employees/commuting/responses/{response_id}","description":"Write one commuting response again whole; the emissions that change are recalculated asynchronously","tag":"BETA","href":"/api-reference/employees/commuting-response-replace-v2"}}}},"mdxExtracts":{"tableOfContents":[{"title":"How it works","slug":"how-it-works","depth":2,"children":[]},{"title":"Request","slug":"request","depth":2,"children":[{"title":"Headers","slug":"headers","depth":3,"children":[]},{"title":"Path Parameters","slug":"path-parameters","depth":3,"children":[]},{"title":"Query Parameters","slug":"query-parameters","depth":3,"children":[]},{"title":"Body Parameters","slug":"body-parameters","depth":3,"children":[]}]},{"title":"Response","slug":"response","depth":2,"children":[]},{"title":"Errors","slug":"errors","depth":2,"children":[]},{"title":"Related Endpoints","slug":"related-endpoints","depth":2,"children":[]}],"codeExamples":{"request":{"type":"RequestExample","children":[{"filename":"cURL","html":"\u003cpre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" language=\"shellscript\">\u003ccode language=\"shellscript\" numberOfLines=\"18\">\u003cspan class=\"line\">\u003cspan style=\"color:#6A737D;--shiki-dark:#6A737D\"># The car on Monday and Tuesday stays; the train on Wednesday becomes a bus.\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#6F42C1;--shiki-dark:#B392F0\">curl\u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> -X\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> PUT\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"https://api.dcycle.io/v2/employees/commuting/responses/9f8e7d6c-5b4a-4392-8f1e-0d9c8b7a6f5e\"\u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> -H\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"x-api-key: ${\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">DCYCLE_API_KEY\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">}\"\u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> -H\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"x-organization-id: ${\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">DCYCLE_ORG_ID\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">}\"\u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> -H\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"Idempotency-Key: 6e5d4c3b-2a1f-4e0d-9c8b-7a6f5e4d3c2b\"\u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> -H\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"Content-Type: application/json\"\u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> -d\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> '{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"start_date\": \"2026-01-01\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"end_date\": \"2026-06-30\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"modes\": [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> {\"work_model\": \"in_person\", \"transport_type\": \"car\", \"vehicle_size\": \"medium\", \"fuel_type\": \"petrol\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"carpool\": true, \"days\": [\"monday\", \"tuesday\"], \"distance_km\": 18},\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> {\"work_model\": \"in_person\", \"transport_type\": \"bus\", \"fuel_type\": \"diesel\", \"days\": [\"wednesday\"],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"distance_km\": 32.5},\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> {\"work_model\": \"telecommuting\", \"days\": [\"thursday\", \"friday\"]}\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"custom_responses\": {\"parking\": \"company_car_park\"}\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> }'\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"Python","html":"\u003cpre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" language=\"python\">\u003ccode language=\"python\" numberOfLines=\"28\">\u003cspan class=\"line\">\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">import\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> os\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">import\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> uuid\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">import\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> requests\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">url \u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">=\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"https://api.dcycle.io/v2/employees/commuting/responses/9f8e7d6c-5b4a-4392-8f1e-0d9c8b7a6f5e\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">headers \u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">=\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> {\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"x-api-key\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: os.environ[\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"DCYCLE_API_KEY\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">], \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"x-organization-id\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: os.environ[\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"DCYCLE_ORG_ID\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">]}\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">stored \u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">=\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> requests.get(url, \u003c/span>\u003cspan style=\"color:#E36209;--shiki-dark:#FFAB70\">headers\u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">=\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">headers, \u003c/span>\u003cspan style=\"color:#E36209;--shiki-dark:#FFAB70\">timeout\u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">=\u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">30\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">).json()\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">modes \u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">=\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> {key: value \u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">for\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> key, value \u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">in\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> mode.items() \u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">if\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> key \u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">!=\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"period_id\"\u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\"> and\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> value \u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">is\u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\"> not\u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> None\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">}\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\"> for\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> mode \u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">in\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> stored[\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"modes\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">modes[\u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">1\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">] \u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">|=\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> {\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"transport_type\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"bus\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">, \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"fuel_type\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"diesel\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">} \u003c/span>\u003cspan style=\"color:#6A737D;--shiki-dark:#6A737D\"># the train becomes a bus\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">response \u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">=\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> requests.put(\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> url,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#E36209;--shiki-dark:#FFAB70\"> headers\u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">=\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">{\u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">**\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">headers, \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"Idempotency-Key\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">str\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">(uuid.uuid4())}, \u003c/span>\u003cspan style=\"color:#6A737D;--shiki-dark:#6A737D\"># keep it to retry this same change\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#E36209;--shiki-dark:#FFAB70\"> json\u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">=\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"start_date\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: stored[\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"start_date\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"end_date\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: stored[\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"end_date\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"situation\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: stored[\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"situation\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"modes\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: modes,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"custom_responses\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: stored[\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"custom_responses\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#E36209;--shiki-dark:#FFAB70\"> timeout\u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">=\u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">60\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">)\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">response.raise_for_status()\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">print\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">(response.json()[\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"id\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">])\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]},"response":{"type":"ResponseExample","children":[{"filename":"202","html":"\u003cpre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"16\">\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"id\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"4a3b2c1d-0e9f-4a8b-b7c6-d5e4f3a2b1c0\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"status\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"processing\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"entity_type\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"employee_commuting\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"operation\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"update\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"source\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"api_bulk\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"counts\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: { \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">\"submitted\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">1\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">, \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">\"succeeded\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">0\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">, \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">\"failed\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">0\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"chunks_total\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">1\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"chunks_done\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">0\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"created_at\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"2026-10-29T09:20:31.877Z\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"finished_at\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">null\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"links\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"self\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"/v2/ingest-jobs/4a3b2c1d-0e9f-4a8b-b7c6-d5e4f3a2b1c0\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"items\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"/v2/ingest-jobs/4a3b2c1d-0e9f-4a8b-b7c6-d5e4f3a2b1c0/items\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"422","html":"\u003cpre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"22\">\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"type\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"https://code.dcycle.io/api-reference/errors#BULK_RECORDS_REJECTED\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"title\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"Unprocessable Entity\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"status\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">422\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"code\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"BULK_RECORDS_REJECTED\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"detail\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"1 of the submitted records are invalid; nothing was written.\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"errors\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"source_row_index\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">0\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"client_row_id\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">null\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"error_code\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"COMMUTING_RESPONSE_OVERLAP\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"error_params\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"field\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"start_date\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"response_id\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"1c2d3e4f-5a6b-4c7d-8e9f-0a1b2c3d4e5f\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"start_date\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"2026-07-01\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"end_date\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"2026-12-31\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"rejected\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">1\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"request_id\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"b2248a31-0f1b-4a7d-83ce-b29bd5977b4c\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"200 (dry_run=true)","html":"\u003cpre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"1\">\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">{ \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">\"dry_run\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">true\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">, \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">\"submitted\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">1\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">, \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">\"valid\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">1\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}},"endpoint":{"title":"Replace Commuting Response (v2)","path":"/v2/employees/commuting/responses/{response_id}","servers":[{"url":"https://api.dcycle.io"}],"method":"put","request":{"security":[],"parameters":{"query":{"dry_run":{"schema":[{"type":"boolean","description":"Check only: the same `422` , nothing written, no job; `200` with `{\"dry_run\": true, \"submitted\": 1, \"valid\": 1}` when the body is valid. The `Idempotency-Key` header is still required, but a dry run does not check or store it."}]}},"header":{"x-api-key":{"schema":[{"type":"string","description":"Your API key (see Authentication ).","required":true}]},"x-organization-id":{"schema":[{"type":"string","description":"Your organization. The responses of its employees, and of those of the organizations under it that you can write to (its perimeter ), can be replaced.","required":true}]},"Idempotency-Key":{"schema":[{"type":"string","description":"1 to 255 characters, one per change. Within 24 hours, the same key with the same route and body returns the original job (with `Idempotent-Replayed: true` ), also when that rewrite moved the response to another id; the same key with another body or on another route is `422 IDEMPOTENCY_KEY_REUSED` . See The Idempotency-Key .","required":true}]}},"cookie":{},"path":{"response_id":{"schema":[{"type":"string","description":"The response: the `entity_id` of its create job’s item, or the `id` that Get Commuting Response (v2) answers.","required":true}]}}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"start_date":[{"type":"string","description":"First day of the period, tomorrow in UTC at the latest .","required":true}],"end_date":[{"type":"string","description":"Last day of the period, on or after `start_date` , Dec 31 of the current year at the latest.","required":true}],"situation":[{"type":"string","description":"`active` , `inactive` (on leave) or `terminated` . An `inactive` or `terminated` response sends no `modes` ."}],"modes":[{"type":"object","properties":{},"description":"Every mode of the response, 1 to 8, required when `active` : the `in_person` and `telecommuting` modes of Create Commuting Periods (v2) . A mode left out is removed."}],"custom_responses":[{"type":"object","properties":{},"description":"Answers to your organization’s own survey questions, by question key, merged into the stored ones: a key you send replaces its answer, `null` clears it, and a key you leave out keeps its answer (the whole object left out keeps them all). A formula column’s key is ignored (its value is computed), so the `custom_responses` that Get Commuting Response (v2) reads can be sent back as they are; a key that is not one of your questions is refused ( `CUSTOM_RESPONSE_INVALID` )."}]}}],"examples":{"example":{"value":{"start_date":"\u003cstring>","end_date":"\u003cstring>","situation":"\u003cstring>","modes":{},"custom_responses":{}}}}}}},"response":{},"deprecated":false}},"jsLinks":[],"subdomain":"dcyleio","siteName":"Dcycle Platform Docs","title":"Replace Commuting Response (v2) - Dcycle Platform Docs","navMaps":{"firstHrefInVersion":{"New API (Recommended)":{"href":"/api-reference/employees/commuting-response-replace-v2","matchLevel":0},"Legacy API":{"href":"/api-reference/introduction","matchLevel":3}},"firstHrefInLanguage":{}},"lastModified":"2026-11-03T12:20:28.535Z","originalFileLocation":"api-reference/employees/commuting-response-replace-v2.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=\"Write one commuting response again whole; the emissions that change are recalculated asynchronously\">\u003cmeta data-mint-head name=\"application-name\" content=\"Dcycle Platform Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/dcyleio/q7dxVY1vTbgXGd35/_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/dcyleio/q7dxVY1vTbgXGd35/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/dcyleio/q7dxVY1vTbgXGd35/_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/dcyleio/q7dxVY1vTbgXGd35/_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/dcyleio/q7dxVY1vTbgXGd35/_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/dcyleio/q7dxVY1vTbgXGd35/_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/dcyleio/q7dxVY1vTbgXGd35/_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/dcyleio/q7dxVY1vTbgXGd35/_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/dcyleio/q7dxVY1vTbgXGd35/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Replace Commuting Response (v2) - Dcycle Platform Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Write one commuting response again whole; the emissions that change are recalculated asynchronously\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Dcycle Platform Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://code.dcycle.io/api-reference/employees/commuting-response-replace-v2\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://dcyleio.mintlify.app/_mintlify/api/og/v2?division=Employees\u0026amp;title=Replace+Commuting+Response+%28v2%29\u0026amp;description=Write+one+commuting+response+again+whole%3B+the+emissions+that+change+are+recalculated+asynchronously\u0026amp;theme=d115002796afa8d4456400b7\u0026amp;signature=eb2f06dd1230991892549a0b5271331c73f77a9dd2ffb3016874b57071f231b4\">\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=\"Replace Commuting Response (v2) - Dcycle Platform Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Write one commuting response again whole; the emissions that change are recalculated asynchronously\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://dcyleio.mintlify.app/_mintlify/api/og/v2?division=Employees\u0026amp;title=Replace+Commuting+Response+%28v2%29\u0026amp;description=Write+one+commuting+response+again+whole%3B+the+emissions+that+change+are+recalculated+asynchronously\u0026amp;theme=d115002796afa8d4456400b7\u0026amp;signature=eb2f06dd1230991892549a0b5271331c73f77a9dd2ffb3016874b57071f231b4\">\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/dcyleio/q7dxVY1vTbgXGd35/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Dcycle Platform Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#006ad4\">\u003clink data-mint-head rel=\"canonical\" href=\"https://code.dcycle.io/api-reference/employees/commuting-response-replace-v2\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/employees/commuting-response-replace-v2.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://code.dcycle.io/#organization\",\"name\":\"Dcycle Platform Docs\",\"url\":\"https://code.dcycle.io\"},{\"@type\":\"WebSite\",\"@id\":\"https://code.dcycle.io#website\",\"name\":\"Dcycle Platform Docs\",\"url\":\"https://code.dcycle.io\",\"publisher\":{\"@id\":\"https://code.dcycle.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://code.dcycle.io/api-reference/employees/commuting-response-replace-v2#webpage\",\"url\":\"https://code.dcycle.io/api-reference/employees/commuting-response-replace-v2\",\"name\":\"Replace Commuting Response (v2)\",\"description\":\"Write one commuting response again whole; the emissions that change are recalculated asynchronously\",\"dateModified\":\"2026-11-03T12:20:28.535Z\",\"isPartOf\":{\"@id\":\"https://code.dcycle.io#website\"},\"breadcrumb\":{\"@id\":\"https://code.dcycle.io/api-reference/employees/commuting-response-replace-v2#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://code.dcycle.io/api-reference/employees/commuting-response-replace-v2#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Employees\",\"item\":\"https://code.dcycle.io/api-reference/employees/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Replace Commuting Response (v2)\",\"item\":\"https://code.dcycle.io/api-reference/employees/commuting-response-replace-v2\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://code.dcycle.io/api-reference/employees/commuting-response-replace-v2#apireference\",\"headline\":\"Replace Commuting Response (v2)\",\"name\":\"Replace Commuting Response (v2)\",\"description\":\"Write one commuting response again whole; the emissions that change are recalculated asynchronously\",\"url\":\"https://code.dcycle.io/api-reference/employees/commuting-response-replace-v2\",\"mainEntityOfPage\":{\"@id\":\"https://code.dcycle.io/api-reference/employees/commuting-response-replace-v2#webpage\"},\"dateModified\":\"2026-11-03T12:20:28.535Z\",\"publisher\":{\"@id\":\"https://code.dcycle.io/#organization\"},\"isPartOf\":{\"@id\":\"https://code.dcycle.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Dcycle Platform Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Dcycle Platform Docs","nav":{"global":null,"tabs":[{"tab":"Get Started","pages":[{"title":"Get Started","href":"/docs/introduction"}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/guides/emissions/overview"}]},{"tab":"API","versions":[{"version":"New API (Recommended)","groups":[{"group":"Introduction","pages":[{"title":"API Introduction","href":"/api-reference/introduction"},{"title":"Changelog","href":"/api-reference/changelog"},{"title":"Errors","href":"/api-reference/errors"},{"title":"OpenAPI \u0026 SDKs","href":"/api-reference/openapi-sdks"},{"title":"Rate Limits","href":"/api-reference/rate-limits"}]},{"group":"Business Travels","pages":[{"title":"Business Travels API","href":"/api-reference/business-travels/overview"},{"title":"Get Business Travel Totals","api":"GET /v1/business-travels/totals","href":"/api-reference/business-travels/totals"},{"title":"Get Business Travel Version History","api":"GET /v1/business-travels/{business_travel_id}/versions","href":"/api-reference/business-travels/versions"},{"title":"List Business Travels","api":"GET /v1/business-travels","href":"/api-reference/business-travels/list"},{"title":"Get Business Travel","api":"GET /v1/business-travels/{business_travel_id}","href":"/api-reference/business-travels/get"},{"title":"Create Business Travel","api":"POST /v1/business-travels","deprecated":true,"href":"/api-reference/business-travels/create"},{"title":"Create Business Travels (v2)","api":"POST /v2/business-travels","tag":"BETA","href":"/api-reference/business-travels/create-v2"},{"title":"Delete Business Travels (v2)","api":"POST /v2/business-travels/delete","tag":"BETA","href":"/api-reference/business-travels/delete-v2"},{"title":"Update Business Travel","api":"PATCH /v1/business-travels/{business_travel_id}","href":"/api-reference/business-travels/update"},{"title":"Delete Business Travel","api":"DELETE /v1/business-travels/{business_travel_id}","deprecated":true,"href":"/api-reference/business-travels/delete"},{"title":"Bulk Delete Business Travels","api":"POST /v1/business-travels/bulk-delete","deprecated":true,"href":"/api-reference/business-travels/bulk-delete"},{"title":"Bulk Delete Business Travels by Filters","api":"POST /v1/business-travels/bulk-delete-by-filters","href":"/api-reference/business-travels/bulk-delete-by-filters"}]},{"group":"Custom Emission Factors","pages":[{"title":"Custom Emission Factor Databases","tag":"BETA","href":"/api-reference/custom-emission-factors/overview"},{"title":"List Custom Database Versions","api":"GET /v1/emission-factors/custom-databases/{database_id}/versions","tag":"BETA","href":"/api-reference/custom-emission-factors/list-versions"},{"title":"List Custom Databases","api":"GET /v1/emission-factors/custom-databases","tag":"BETA","href":"/api-reference/custom-emission-factors/list-databases"},{"title":"List Custom Records","api":"GET /v1/emission-factors/custom-databases/{database_id}/versions/{source_id}/records","tag":"BETA","href":"/api-reference/custom-emission-factors/list-records"},{"title":"Get Custom Record","api":"GET /v1/emission-factors/custom-databases/record/{record_id}","tag":"BETA","href":"/api-reference/custom-emission-factors/get-record"},{"title":"Create Custom Database","api":"POST /v1/emission-factors/custom-databases","tag":"BETA","href":"/api-reference/custom-emission-factors/create-database"},{"title":"Create Custom Database Version","api":"POST /v1/emission-factors/custom-databases/{database_id}/versions","tag":"BETA","href":"/api-reference/custom-emission-factors/create-version"},{"title":"Create Custom Record","api":"POST /v1/emission-factors/custom-databases/{database_id}/versions/{source_id}/records","tag":"BETA","href":"/api-reference/custom-emission-factors/create-record"},{"title":"Update Custom Record","api":"PATCH /v1/emission-factors/custom-databases/{database_id}/versions/{source_id}/records/{record_id}","tag":"BETA","href":"/api-reference/custom-emission-factors/update-record"},{"title":"Delete Custom Record","api":"DELETE /v1/emission-factors/custom-databases/{database_id}/versions/{source_id}/records/{record_id}","tag":"BETA","href":"/api-reference/custom-emission-factors/delete-record"}]},{"group":"Custom Emission Groups","pages":[{"title":"List Custom Emission Groups","api":"GET /custom_emission_groups/light","href":"/api-reference/custom-emission-groups/list-light"}]},{"group":"Custom KPI","pages":[{"title":"Custom KPI","href":"/api-reference/custom-kpi/overview"},{"title":"List Dataset Values","api":"GET /v1/custom-kpi-datasets/{dataset_id}/values","href":"/api-reference/custom-kpi/list-dataset-values"},{"title":"List Datasets","api":"GET /v1/custom-kpi-datasets","href":"/api-reference/custom-kpi/list-datasets"},{"title":"Get Dataset","api":"GET /v1/custom-kpi-datasets/{dataset_id}","href":"/api-reference/custom-kpi/get-dataset"},{"title":"Create Dataset","api":"POST /v1/custom-kpi-datasets","href":"/api-reference/custom-kpi/create-dataset"},{"title":"Download Excel","api":"POST /v1/custom-kpi-datasets/{dataset_id}/download_excel","href":"/api-reference/custom-kpi/download-excel"},{"title":"Submit Response","api":"POST /v1/custom-kpi-datasets/{dataset_id}/responses","href":"/api-reference/custom-kpi/submit-response"},{"title":"Update Dataset","api":"PATCH /v1/custom-kpi-datasets/{dataset_id}","href":"/api-reference/custom-kpi/update-dataset"},{"title":"Delete Dataset","api":"DELETE /v1/custom-kpi-datasets/{dataset_id}","href":"/api-reference/custom-kpi/delete-dataset"},{"title":"Presigned URL","api":"POST /v1/custom-kpi-datasets/{dataset_id}/responses/attachments/presigned-url","href":"/api-reference/custom-kpi/presigned-url"},{"group":"Assignments","expanded":true,"pages":[{"title":"List Assignments","api":"GET /v1/custom-kpi-datasets/{dataset_id}/assignments","href":"/api-reference/custom-kpi/list-assignments"},{"title":"Create Assignment","api":"POST /v1/custom-kpi-datasets/{dataset_id}/assignments","href":"/api-reference/custom-kpi/create-assignment"},{"title":"Update Assignment","api":"PATCH /v1/custom-kpi-datasets/{dataset_id}/assignments/{assignment_id}","href":"/api-reference/custom-kpi/update-assignment"},{"title":"Delete Assignment","api":"DELETE /v1/custom-kpi-datasets/{dataset_id}/assignments/{assignment_id}","href":"/api-reference/custom-kpi/delete-assignment"}]},{"group":"Campaigns","expanded":true,"pages":[{"title":"Assignment Versions","api":"GET /v1/custom-kpi-datasets/{dataset_id}/campaigns/{campaign_id}/assignments/{campaign_assignment_id}/versions","href":"/api-reference/custom-kpi/assignment-versions"},{"title":"Get Assignment Values","api":"GET /v1/custom-kpi-datasets/{dataset_id}/campaigns/{campaign_id}/assignments/{campaign_assignment_id}/values","href":"/api-reference/custom-kpi/get-assignment-values"},{"title":"List Campaign Values","api":"GET /v1/custom-kpi-datasets/{dataset_id}/campaigns/{campaign_id}/values","href":"/api-reference/custom-kpi/list-campaign-values"},{"title":"List Campaigns","api":"GET /v1/custom-kpi-datasets/{dataset_id}/campaigns","href":"/api-reference/custom-kpi/list-campaigns"},{"title":"List Response Sets","api":"GET /v1/custom-kpi-datasets/{dataset_id}/campaigns/{campaign_id}/response-sets","href":"/api-reference/custom-kpi/list-response-sets"},{"title":"Get Campaign","api":"GET /v1/custom-kpi-datasets/{dataset_id}/campaigns/{campaign_id}","href":"/api-reference/custom-kpi/get-campaign"},{"title":"Add Campaign Recipient","api":"POST /v1/custom-kpi-datasets/{dataset_id}/campaigns/{campaign_id}/assignments","href":"/api-reference/custom-kpi/add-campaign-recipient"},{"title":"Create Campaign","api":"POST /v1/custom-kpi-datasets/{dataset_id}/campaigns","href":"/api-reference/custom-kpi/create-campaign"},{"title":"Lock Campaign","api":"POST /v1/custom-kpi-datasets/{dataset_id}/campaigns/{campaign_id}/lock","href":"/api-reference/custom-kpi/lock-campaign"},{"title":"Resend Invite","api":"POST /v1/custom-kpi-datasets/{dataset_id}/campaigns/{campaign_id}/assignments/{campaign_assignment_id}/resend","href":"/api-reference/custom-kpi/resend-invite"},{"title":"Send Invites","api":"POST /v1/custom-kpi-datasets/{dataset_id}/campaigns/{campaign_id}/send-invites","href":"/api-reference/custom-kpi/send-invites"},{"title":"Unlock Campaign","api":"POST /v1/custom-kpi-datasets/{dataset_id}/campaigns/{campaign_id}/unlock","href":"/api-reference/custom-kpi/unlock-campaign"},{"title":"Edit Assignment Values","api":"PATCH /v1/custom-kpi-datasets/{dataset_id}/campaigns/{campaign_id}/assignments/{campaign_assignment_id}/values","href":"/api-reference/custom-kpi/edit-assignment-values"},{"title":"Update Campaign","api":"PATCH /v1/custom-kpi-datasets/{dataset_id}/campaigns/{campaign_id}","href":"/api-reference/custom-kpi/update-campaign"},{"title":"Delete Campaign","api":"DELETE /v1/custom-kpi-datasets/{dataset_id}/campaigns/{campaign_id}","href":"/api-reference/custom-kpi/delete-campaign"},{"title":"Remove Campaign Recipient","api":"DELETE /v1/custom-kpi-datasets/{dataset_id}/campaigns/{campaign_id}/assignments/{campaign_assignment_id}","href":"/api-reference/custom-kpi/remove-campaign-recipient"}]},{"group":"KPIs","expanded":true,"pages":[{"title":"Create KPI","api":"POST /v1/custom-kpi-datasets/{dataset_id}/kpis","href":"/api-reference/custom-kpi/create-kpi"},{"title":"Update KPI","api":"PATCH /v1/custom-kpi-datasets/{dataset_id}/kpis/{kpi_id}","href":"/api-reference/custom-kpi/update-kpi"},{"title":"Delete KPI","api":"DELETE /v1/custom-kpi-datasets/{dataset_id}/kpis/{kpi_id}","href":"/api-reference/custom-kpi/delete-kpi"}]}]},{"group":"Dashboards","pages":[{"title":"Dashboards API","href":"/api-reference/dashboards/overview"},{"title":"List Dashboards","api":"GET /v2/dashboard","href":"/api-reference/dashboards/list"},{"title":"Get Dashboard","api":"GET /v2/dashboard/{dashboard_id}","href":"/api-reference/dashboards/get"},{"title":"Create Dashboard","api":"POST /v2/dashboard","href":"/api-reference/dashboards/create"},{"title":"Update Dashboard","api":"PATCH /v2/dashboard/{dashboard_id}","href":"/api-reference/dashboards/update"},{"title":"Delete Dashboard","api":"DELETE /v2/dashboard/{dashboard_id}","href":"/api-reference/dashboards/delete"}]},{"group":"Datasets","pages":[{"title":"Get Dataset Schema","api":"GET /v1/datasets/{key}/schema","href":"/api-reference/datasets/schema"},{"title":"List Available Datasets","api":"GET /v1/datasets","href":"/api-reference/datasets/list"},{"title":"Query datasets","api":"POST /v1/datasets/{key}/query","href":"/api-reference/datasets/query"}]},{"group":"Emissions","pages":[{"title":"Emissions","href":"/api-reference/emissions/overview"},{"title":"Get Emissions Summary","api":"GET /v1/total-impacts","href":"/api-reference/emissions/get-summary"}]},{"group":"Employees","pages":[{"title":"Employees API","href":"/api-reference/employees/overview"},{"title":"List Employees","api":"GET /v1/employees","href":"/api-reference/employees/list"},{"title":"List Employees (V2)","api":"GET /v2/employees","href":"/api-reference/employees/list-v2"},{"title":"List Survey Rows","api":"GET /v2/employees/survey-rows","href":"/api-reference/employees/survey-rows"},{"title":"Queue Pending Mobility Survey Export","api":"GET /v2/employees/pending-survey/download","href":"/api-reference/employees/pending-survey-download"},{"title":"Get Commuting Response (v2)","api":"GET /v2/employees/commuting/responses/{response_id}","tag":"BETA","href":"/api-reference/employees/commuting-response-get-v2"},{"title":"Get Employee","api":"GET /v1/employees/{employee_id}","href":"/api-reference/employees/get"},{"title":"Create Commuting Periods (v2)","api":"POST /v2/employees/commuting","tag":"BETA","href":"/api-reference/employees/commuting-create-v2"},{"title":"Create Employee","api":"POST /v1/employees","deprecated":true,"href":"/api-reference/employees/create"},{"title":"Create Employees (v2)","api":"POST /v2/employees","tag":"BETA","href":"/api-reference/employees/create-v2"},{"title":"Delete Commuting Periods (v2)","api":"POST /v2/employees/commuting/delete","tag":"BETA","href":"/api-reference/employees/commuting-delete-v2"},{"title":"Delete Employees (v2)","api":"POST /v2/employees/delete","tag":"BETA","href":"/api-reference/employees/delete-v2"},{"title":"Download Survey Rows","api":"POST /v2/employees/survey-rows/export","href":"/api-reference/employees/survey-rows-export"},{"title":"Resend Commuting Survey","api":"POST /v1/employees/resend-survey","description":"Send the commuting survey again for a period, to named employees or to everyone who has not answered yet","href":"/api-reference/employees/resend-survey"},{"title":"Replace Commuting Response (v2)","api":"PUT /v2/employees/commuting/responses/{response_id}","tag":"BETA","href":"/api-reference/employees/commuting-response-replace-v2"},{"title":"Update Employee","api":"PATCH /v1/employees/{employee_id}","description":"Modify an existing employee's details","href":"/api-reference/employees/update"},{"title":"Delete Employee","api":"DELETE /v1/employees/{employee_id}","deprecated":true,"href":"/api-reference/employees/delete"},{"title":"Bulk Delete Employees","api":"POST /v2/employees/bulk-delete","deprecated":true,"href":"/api-reference/employees/bulk-delete"},{"title":"Bulk Delete Employees by Filters","api":"POST /v2/employees/bulk-delete-by-filters","href":"/api-reference/employees/bulk-delete-by-filters"},{"title":"CSV Import","api":"POST /v1/employees/csv","href":"/api-reference/employees/csv-import"},{"title":"Recalculate Employees","api":"POST /v2/employees/recalculate","href":"/api-reference/employees/recalculate"},{"group":"Commuting Periods","expanded":true,"pages":[{"title":"Calculation Steps","api":"GET /v1/employee-historic/{employee_historic_id}/steps","href":"/api-reference/employees/commuting-periods/calculation-steps"},{"title":"List Commuting Periods","api":"GET /v1/employee-historic","href":"/api-reference/employees/commuting-periods/list"},{"title":"Get Commuting Period","api":"GET /v1/employee-historic/{employee_historic_id}","href":"/api-reference/employees/commuting-periods/get"},{"title":"Create Commuting Period","api":"POST /v1/employee-historic","deprecated":true,"href":"/api-reference/employees/commuting-periods/create"},{"title":"Update Commuting Period","api":"PATCH /v1/employee-historic/{employee_historic_id}","href":"/api-reference/employees/commuting-periods/update"},{"title":"Delete Commuting Period","api":"DELETE /v1/employee-historic/{employee_historic_id}","deprecated":true,"href":"/api-reference/employees/commuting-periods/delete"},{"title":"CSV Upload","api":"POST /v1/employee-historic/bulk/csv","deprecated":true,"href":"/api-reference/employees/commuting-periods/csv-upload"}]},{"group":"Survey Templates","expanded":true,"pages":[{"title":"Survey Templates API","href":"/api-reference/employees/survey-templates/overview"},{"title":"List Survey Templates","api":"GET /v1/employee-survey-templates","href":"/api-reference/employees/survey-templates/list"},{"title":"Get Survey Template","api":"GET /v1/employee-survey-templates/{template_id}","href":"/api-reference/employees/survey-templates/get"},{"title":"Create Survey Template","api":"POST /v1/employee-survey-templates","href":"/api-reference/employees/survey-templates/create"},{"title":"Block Template","api":"PATCH /v1/employee-survey-templates/{template_id}/block","href":"/api-reference/employees/survey-templates/block"},{"title":"Set Default Template","api":"PATCH /v1/employee-survey-templates/{template_id}/default","href":"/api-reference/employees/survey-templates/set-default"},{"title":"Unblock Template","api":"PATCH /v1/employee-survey-templates/{template_id}/unblock","href":"/api-reference/employees/survey-templates/unblock"},{"title":"Update Survey Template","api":"PATCH /v1/employee-survey-templates/{template_id}","href":"/api-reference/employees/survey-templates/update"},{"title":"Delete Survey Template","api":"DELETE /v1/employee-survey-templates/{template_id}","href":"/api-reference/employees/survey-templates/delete"},{"title":"Clone Survey Template","api":"POST /v1/employee-survey-templates/{template_id}/clone","href":"/api-reference/employees/survey-templates/clone"}]}]},{"group":"Facilities","pages":[{"title":"Facilities API","href":"/api-reference/facilities/overview"},{"title":"Get Facility Version History","api":"GET /v1/facilities/{facility_id}/versions","href":"/api-reference/facilities/versions"},{"title":"List Facilities","api":"GET /v1/facilities","href":"/api-reference/facilities/list"},{"title":"Get Facility","api":"GET /v1/facilities/{facility_id}","href":"/api-reference/facilities/get"},{"title":"Create Facilities (v2)","api":"POST /v2/facilities","tag":"BETA","href":"/api-reference/facilities/create-v2"},{"title":"Create Facility","api":"POST /v1/facilities","deprecated":true,"href":"/api-reference/facilities/create"},{"title":"Create Waste Water Facility","api":"POST /v1/facilities/waste_water","deprecated":true,"href":"/api-reference/facilities/create-waste-water"},{"title":"Delete Facilities (v2)","api":"POST /v2/facilities/delete","tag":"BETA","href":"/api-reference/facilities/delete-v2"},{"title":"Update Facility","api":"PUT /v1/facilities/{facility_id}","href":"/api-reference/facilities/update"},{"title":"Delete Facility","api":"DELETE /v1/facilities/{facility_id}","deprecated":true,"href":"/api-reference/facilities/delete"}]},{"group":"Files","pages":[{"title":"Files","href":"/api-reference/files/overview"},{"title":"List File Readings","api":"GET /v1/files/readings","href":"/api-reference/files/readings"},{"title":"Create Records From File Reading","api":"POST /v1/files/readings","href":"/api-reference/files/create-records"},{"title":"Retry File Processing","api":"POST /v1/files/send-event","href":"/api-reference/files/process"},{"title":"Update File Reading","api":"PUT /v1/files/readings/{file_reading_id}","href":"/api-reference/files/update-reading"},{"title":"Upload Files","api":"POST /v1/files/presigned-urls","href":"/api-reference/files/upload"}]},{"group":"Historical Emissions","pages":[{"title":"Historical Emissions","href":"/api-reference/historical-emissions/overview"},{"title":"Get Historical Emission Version History","api":"GET /v1/historical-emissions/{historical_emission_id}/versions","href":"/api-reference/historical-emissions/versions"},{"title":"List Historical Emissions","api":"GET /v1/historical-emissions/","href":"/api-reference/historical-emissions/list"},{"title":"Get Historical Emission","api":"GET /v1/historical-emissions/{historical_emission_id}","href":"/api-reference/historical-emissions/get"},{"title":"Create Historical Emission","api":"POST /v1/historical-emissions/","href":"/api-reference/historical-emissions/create"},{"title":"Update Historical Emission","api":"PATCH /v1/historical-emissions/{historical_emission_id}","href":"/api-reference/historical-emissions/update"},{"title":"Delete Historical Emission","api":"DELETE /v1/historical-emissions/{historical_emission_id}","href":"/api-reference/historical-emissions/delete"}]},{"group":"Hotel Stays","pages":[{"title":"Hotel Stays API","href":"/api-reference/hotel-stays/overview"},{"title":"Get Hotel Stay Totals","api":"GET /v1/hotel-stays/totals","href":"/api-reference/hotel-stays/totals"},{"title":"Hotel Stay Calculation Steps","api":"GET /v1/hotel-stays/{hotel_stay_id}/steps","href":"/api-reference/hotel-stays/impact-calculation"},{"title":"List Available Countries","api":"GET /v1/hotel-stays/available-countries","href":"/api-reference/hotel-stays/available-countries"},{"title":"List Hotel Stays","api":"GET /v1/hotel-stays","href":"/api-reference/hotel-stays/list"},{"title":"Get Hotel Stay","api":"GET /v1/hotel-stays/{hotel_stay_id}","href":"/api-reference/hotel-stays/get"},{"title":"Create Hotel Stay","api":"POST /v1/hotel-stays","deprecated":true,"href":"/api-reference/hotel-stays/create"},{"title":"Create Hotel Stays (v2)","api":"POST /v2/hotel-stays","tag":"BETA","href":"/api-reference/hotel-stays/create-v2"},{"title":"Delete Hotel Stays (v2)","api":"POST /v2/hotel-stays/delete","tag":"BETA","href":"/api-reference/hotel-stays/delete-v2"},{"title":"Update Hotel Stay","api":"PATCH /v1/hotel-stays/{hotel_stay_id}","href":"/api-reference/hotel-stays/update"},{"title":"Delete Hotel Stay","api":"DELETE /v1/hotel-stays/{hotel_stay_id}","deprecated":true,"href":"/api-reference/hotel-stays/delete"},{"title":"Bulk Delete Hotel Stays","api":"POST /v1/hotel-stays/bulk-delete","deprecated":true,"href":"/api-reference/hotel-stays/bulk-delete"},{"title":"Bulk Delete Hotel Stays by Filters","api":"POST /v1/hotel-stays/bulk-delete-by-filters","href":"/api-reference/hotel-stays/bulk-delete-by-filters"},{"title":"CSV Upload","api":"POST /v1/hotel-stays/bulk/csv","deprecated":true,"href":"/api-reference/hotel-stays/csv-upload"},{"title":"Recalculate Hotel Stays","api":"POST /v1/hotel-stays/recalculate","href":"/api-reference/hotel-stays/recalculate"}]},{"group":"Imports","pages":[{"title":"Imports","href":"/api-reference/imports/overview"},{"title":"Get Import Rows","api":"GET /v2/imports/{import_id}/rows","href":"/api-reference/imports/get-rows"},{"title":"Get Import Status","api":"GET /v2/imports/{import_id}/status","href":"/api-reference/imports/get-status"},{"title":"List Import Sessions","api":"GET /v2/imports/sessions","href":"/api-reference/imports/list"},{"title":"Get Provider Options","api":"GET /v2/imports/options/{source_key}","href":"/api-reference/imports/get-options-source"},{"title":"Get Import Template","api":"GET /v2/imports/templates/{template_id}","href":"/api-reference/imports/get-template"},{"title":"Own Workforce Import Templates","href":"/api-reference/imports/own-workforce-templates"},{"title":"Get Unique Values","api":"POST /v2/imports/{import_id}/unique-values","href":"/api-reference/imports/get-unique-values"},{"title":"Confirm Mapping","api":"POST /v2/imports/{import_id}/mapping","href":"/api-reference/imports/confirm-mapping"},{"title":"Create Import Session","api":"POST /v2/imports/sessions","href":"/api-reference/imports/create-session"},{"title":"Delete Import Rows","api":"POST /v2/imports/{import_id}/rows/delete","href":"/api-reference/imports/delete-rows"},{"title":"Submit Import","api":"POST /v2/imports/{import_id}/submit","href":"/api-reference/imports/submit"},{"title":"Suggest Mapping","api":"POST /v2/imports/{import_id}/mapping/suggest","href":"/api-reference/imports/suggest-mapping"},{"title":"Validate Import","api":"POST /v2/imports/{import_id}/validate","href":"/api-reference/imports/validate"},{"title":"Patch Import Rows","api":"PATCH /v2/imports/{import_id}/rows","href":"/api-reference/imports/patch-rows"},{"title":"Delete Import Session","api":"DELETE /v2/imports/sessions/{import_id}","href":"/api-reference/imports/delete-session"}]},{"group":"Ingest Jobs","pages":[{"title":"How Bulk Ingestion Works","tag":"BETA","href":"/api-reference/ingest-jobs/overview"},{"title":"List Ingest Job Items","api":"GET /v2/ingest-jobs/{job_id}/items","tag":"BETA","href":"/api-reference/ingest-jobs/list-items"},{"title":"List Ingest Jobs","api":"GET /v2/ingest-jobs","tag":"BETA","href":"/api-reference/ingest-jobs/list"},{"title":"Get Ingest Job","api":"GET /v2/ingest-jobs/{job_id}","tag":"BETA","href":"/api-reference/ingest-jobs/get"}]},{"group":"Invoices","pages":[{"title":"Invoices API","href":"/api-reference/invoices/overview"},{"title":"Get Invoice Totals","api":"GET /v1/invoices/totals","href":"/api-reference/invoices/totals"},{"title":"List Invoice Filter Options","api":"GET /v1/invoices/filter-options","href":"/api-reference/invoices/filter-options"},{"title":"List Invoices","api":"GET /v1/invoices","href":"/api-reference/invoices/list"},{"title":"List Refrigerant Gases","api":"GET /v1/recharge/gases","href":"/api-reference/invoices/refrigerant-gases-list"},{"title":"List Stationary Fuels","api":"GET /v1/stationary/fuels","href":"/api-reference/invoices/stationary-fuels-list"},{"title":"List Suppliers (v2)","api":"GET /v2/suppliers","href":"/api-reference/invoices/suppliers-list-v2"},{"title":"Get Invoice","api":"GET /v1/invoices/{invoice_id}","href":"/api-reference/invoices/get"},{"title":"Create District Cooling Invoices (v2)","api":"POST /v2/invoices/district-cooling","tag":"BETA","href":"/api-reference/invoices/district-cooling-create-v2"},{"title":"Create District Heating Invoices (v2)","api":"POST /v2/invoices/district-heating","tag":"BETA","href":"/api-reference/invoices/district-heating-create-v2"},{"title":"Create Electricity Invoices (v2)","api":"POST /v2/invoices/electricity","tag":"BETA","href":"/api-reference/invoices/electricity-create-v2"},{"title":"Create Fuel Invoices (v2)","api":"POST /v2/invoices/fuels","tag":"BETA","href":"/api-reference/invoices/fuels-create-v2"},{"title":"Create Invoice","api":"POST /v1/invoices","deprecated":true,"href":"/api-reference/invoices/create"},{"title":"Create Process Invoices (v2)","api":"POST /v2/invoices/process","tag":"BETA","href":"/api-reference/invoices/process-create-v2"},{"title":"Create Refrigerant Invoices (v2)","api":"POST /v2/invoices/refrigerants","tag":"BETA","href":"/api-reference/invoices/refrigerants-create-v2"},{"title":"Create Water Invoices (v2)","api":"POST /v2/invoices/water","tag":"BETA","href":"/api-reference/invoices/water-create-v2"},{"title":"Delete Invoices (v2)","api":"POST /v2/invoices/delete","tag":"BETA","href":"/api-reference/invoices/delete-v2"},{"title":"Update Invoice","api":"PATCH /v1/invoices/{invoice_id}","href":"/api-reference/invoices/update"},{"title":"Delete Invoice","api":"DELETE /v1/invoices/{invoice_id}","deprecated":true,"href":"/api-reference/invoices/delete"},{"title":"Bulk Delete Invoices","api":"POST /v1/invoices/bulk-delete","deprecated":true,"href":"/api-reference/invoices/bulk-delete"},{"title":"Bulk Delete Invoices by Filters","api":"POST /v1/invoices/bulk-delete-by-filters","href":"/api-reference/invoices/bulk-delete-by-filters"},{"title":"Bulk Update","api":"POST /v1/invoices/bulk-update","href":"/api-reference/invoices/bulk-update"},{"title":"Recalculate Invoices","api":"POST /v1/invoices/recalculate","href":"/api-reference/invoices/recalculate"},{"title":"Create Invoice with PDF Attachment","href":"/api-reference/invoices/invoice-with-pdf"},{"title":"Invoice Comments","href":"/api-reference/invoices/comments"}]},{"group":"Life Cycle Assessment (LCA)","pages":[{"title":"LCA API","href":"/api-reference/lca/overview"},{"title":"Get LCA Calculation Errors","api":"GET /lca/portfolio/{lca_id}/calculation-errors","href":"/api-reference/lca/calculation-errors"},{"title":"Get LCA Dashboard","api":"GET /lca/portfolio/{lca_id}/dashboard","href":"/api-reference/lca/dashboard"},{"title":"List LCA Portfolios","api":"GET /lca/portfolio","href":"/api-reference/lca/list"},{"title":"Get LCA Impacts","api":"GET /lca/impacts/{lca_id}","href":"/api-reference/lca/impacts"},{"title":"Get LCA Portfolio","api":"GET /lca/portfolio/{lca_id}","href":"/api-reference/lca/get"},{"title":"Validate LCA","api":"GET /lca/validate/{lca_id}","href":"/api-reference/lca/validate"},{"title":"Create LCA from Excel","api":"POST /lca/create-from-excel","href":"/api-reference/lca/create-from-excel"},{"title":"Create LCA from JSON","api":"POST /lca/create-from-json","href":"/api-reference/lca/create-from-json"},{"title":"Create LCA Portfolio","api":"POST /v1/lca/portfolio","href":"/api-reference/lca/create"},{"title":"Export LCA to Excel","api":"POST /lca/export-xlsx/{lca_id}","href":"/api-reference/lca/export-xlsx"},{"title":"Update LCA Portfolio","api":"PATCH /lca/portfolio/{lca_id}","href":"/api-reference/lca/update"},{"title":"Delete LCA Portfolio","api":"DELETE /lca/portfolio/{lca_id}","href":"/api-reference/lca/delete"}]},{"group":"Logistic Hubs","pages":[{"title":"Logistic Hubs API","href":"/api-reference/logistic-hubs/overview"},{"title":"List Logistic Hubs","api":"GET /v1/logistic-hubs","href":"/api-reference/logistic-hubs/list"},{"title":"Get Logistic Hub","api":"GET /v1/logistic-hubs/{hub_id}","href":"/api-reference/logistic-hubs/get"},{"title":"Create Logistic Hub","api":"POST /v1/logistic-hubs","href":"/api-reference/logistic-hubs/create"},{"title":"Create Logistic Hubs (v2)","api":"POST /v2/logistic-hubs","tag":"BETA","href":"/api-reference/logistic-hubs/create-v2"},{"title":"Update Logistic Hub","api":"PUT /v1/logistic-hubs/{hub_id}","href":"/api-reference/logistic-hubs/update"},{"title":"Delete Logistic Hub","api":"DELETE /v1/logistic-hubs/{hub_id}","href":"/api-reference/logistic-hubs/delete"}]},{"group":"Logistics","pages":[{"title":"Logistics API","href":"/api-reference/logistics/overview"},{"title":"Export Detailed Report","api":"GET /v1/logistics/report/export","href":"/api-reference/logistics/get-report-export"},{"title":"Generate Report","api":"GET /v1/logistics/report","href":"/api-reference/logistics/get-report"},{"title":"Get Logistics Summary","api":"GET /v1/logistics/summary","href":"/api-reference/logistics/get-summary"},{"title":"List Available Fuel Types","api":"GET /v1/logistics/fuels","href":"/api-reference/logistics/list-fuels"},{"title":"List Available Vehicle Types","api":"GET /v1/logistics/tocs","href":"/api-reference/logistics/list-tocs"},{"title":"List Clients","api":"GET /v1/logistics/clients","href":"/api-reference/logistics/list-clients"},{"title":"List HOCs","api":"GET /v1/logistics/hocs","href":"/api-reference/logistics/list-hocs"},{"title":"List Logistics Hubs","api":"GET /v1/logistics/hubs","href":"/api-reference/logistics/list-hubs"},{"title":"List Packages","api":"GET /v1/logistics/packages","href":"/api-reference/logistics/list-packages"},{"title":"Get Package by ID","api":"GET /v1/logistics/packages/{package_id}","href":"/api-reference/logistics/get-package"},{"title":"CSV Upload","api":"POST /v1/logistics/upload","href":"/api-reference/logistics/upload"},{"group":"Recharges","expanded":true,"pages":[{"title":"List Logistics Recharges","api":"GET /v1/logistics/recharges","href":"/api-reference/logistics/list-recharges"},{"title":"List Recharge Filter Values","api":"GET /v1/logistics/recharges/unique-values","href":"/api-reference/logistics/recharges-unique-values"},{"title":"Create Logistics Recharge","api":"POST /v1/logistics/recharges","href":"/api-reference/logistics/create-recharge"},{"title":"Delete Logistics Recharge","api":"DELETE /v1/logistics/recharges/{recharge_id}","href":"/api-reference/logistics/delete-recharge"},{"title":"Batch Delete Logistics Recharges","api":"POST /v1/logistics/recharges/batch-delete","href":"/api-reference/logistics/batch-delete-recharges"},{"title":"Bulk Delete Recharges by Filters","api":"POST /v1/logistics/recharges/bulk-delete-by-filters","href":"/api-reference/logistics/recharges-bulk-delete-by-filters"},{"title":"Create Logistics Recharges (Bulk)","api":"POST /v1/logistics/recharges/bulk","href":"/api-reference/logistics/create-recharges-bulk"}]},{"group":"Requests","expanded":true,"pages":[{"title":"List Logistics Requests","api":"GET /v1/logistics/requests","href":"/api-reference/logistics/list-requests"},{"title":"List Shipment Filter Values","api":"GET /v1/logistics/requests/unique-values","href":"/api-reference/logistics/requests-unique-values"},{"title":"Create Logistics Request","api":"POST /v1/logistics/requests","href":"/api-reference/logistics/create-request"},{"title":"Create Logistics Requests (v2)","api":"POST /v2/logistics/requests","tag":"BETA","href":"/api-reference/logistics/create-requests-v2"},{"title":"Delete Logistics Request","api":"DELETE /v1/logistics/requests/{request_id}","href":"/api-reference/logistics/delete-request"},{"title":"Batch Delete Logistics Requests","api":"POST /v1/logistics/requests/batch-delete","href":"/api-reference/logistics/batch-delete-requests"},{"title":"Bulk Delete Requests by Filters","api":"POST /v1/logistics/requests/bulk-delete-by-filters","href":"/api-reference/logistics/requests-bulk-delete-by-filters"},{"title":"Create Logistics Requests (Bulk)","api":"POST /v1/logistics/requests/bulk","href":"/api-reference/logistics/create-requests-bulk"}]}]},{"group":"Organizations","pages":[{"title":"Organizations API","href":"/api-reference/organizations/overview"},{"title":"Organization Metrics","api":"GET /v1/organizations/{organization_id}/metrics","href":"/api-reference/organizations/metrics"},{"title":"Organization Tree","api":"GET /v2/organizations/tree","href":"/api-reference/organizations/tree"}]},{"group":"Own Workforce","pages":[{"title":"Own Workforce API","href":"/api-reference/own-workforce/overview"},{"title":"Get Workforce Unique Values","api":"GET /v1/own_workforces/unique-values","href":"/api-reference/own-workforce/unique-values"},{"title":"Get Workforce Verification Data","api":"GET /v1/own_workforces/verification-data","href":"/api-reference/own-workforce/verification-data"},{"title":"List Workforce Countries","api":"GET /v1/own_workforces/countries","href":"/api-reference/own-workforce/countries"},{"title":"List Workforce Employees","api":"GET /v1/own_workforces","href":"/api-reference/own-workforce/list"},{"title":"List Workforce Employees With Contracts","api":"GET /v1/own_workforces/with-contracts-and-remunerations","href":"/api-reference/own-workforce/with-contracts"},{"title":"List Workforce Job Categories","api":"GET /v1/own_workforces/job-categories","href":"/api-reference/own-workforce/job-categories"},{"title":"Get Workforce Employee","api":"GET /v1/own_workforces/{own_workforce_id}","href":"/api-reference/own-workforce/get"},{"title":"Create Workforce Employees (v2)","api":"POST /v2/own-workforce/employees","tag":"BETA","href":"/api-reference/own-workforce/employees-create-v2"},{"title":"Delete Workforce Employees (v2)","api":"POST /v2/own-workforce/employees/delete","tag":"BETA","href":"/api-reference/own-workforce/employees-delete-v2"},{"title":"Delete Workforce Employee","api":"DELETE /v1/own_workforces/{own_workforce_id}","deprecated":true,"href":"/api-reference/own-workforce/delete"},{"title":"Bulk Delete Workforce Employees","api":"POST /v1/own_workforces/bulk-delete","deprecated":true,"href":"/api-reference/own-workforce/bulk-delete"},{"title":"Bulk Delete Workforce Employees by Filters","api":"POST /v1/own_workforces/bulk-delete-by-filters","href":"/api-reference/own-workforce/bulk-delete-by-filters"},{"title":"Upload Workforce Employees CSV","api":"POST /v1/own_workforces/bulk/csv","deprecated":true,"href":"/api-reference/own-workforce/csv-upload"},{"group":"Absenteeisms \u0026 Accidents","expanded":true,"pages":[{"title":"Get Workforce Absences Unique Values","api":"GET /v1/own_workforce_absenteeisms_accidents/unique-values","href":"/api-reference/own-workforce/unique-values-absences"},{"title":"List Workforce Absences","api":"GET /v1/own_workforce_absenteeisms_accidents","href":"/api-reference/own-workforce/list-absences"},{"title":"List Workforce Absences Paginated","api":"GET /v1/own_workforce_absenteeisms_accidents/paginated","href":"/api-reference/own-workforce/list-absences-paginated"},{"title":"List Workforce Absences by Employee","api":"GET /v1/own_workforce_absenteeisms_accidents/own_workforce/{own_workforce_id}","href":"/api-reference/own-workforce/list-absences-by-employee"},{"title":"Create Workforce Absences (v2)","api":"POST /v2/own-workforce/absences","tag":"BETA","href":"/api-reference/own-workforce/absences-create-v2"},{"title":"Delete Workforce Absences (v2)","api":"POST /v2/own-workforce/absences/delete","tag":"BETA","href":"/api-reference/own-workforce/absences-delete-v2"},{"title":"Delete Workforce Absence","api":"DELETE /v1/own_workforce_absenteeisms_accidents/{absenteeism_accident_id}","deprecated":true,"href":"/api-reference/own-workforce/delete-absence"},{"title":"Bulk Delete Workforce Absences","api":"POST /v1/own_workforce_absenteeisms_accidents/bulk-delete","deprecated":true,"href":"/api-reference/own-workforce/bulk-delete-absences"},{"title":"Bulk Delete Workforce Absences by Filters","api":"POST /v1/own_workforce_absenteeisms_accidents/bulk-delete-by-filters","href":"/api-reference/own-workforce/bulk-delete-absences-by-filters"},{"title":"Upload Workforce Absences CSV","api":"POST /v1/own_workforce_absenteeisms_accidents/bulk/csv","deprecated":true,"href":"/api-reference/own-workforce/csv-upload-absences"}]},{"group":"Contracts \u0026 Remuneration","expanded":true,"pages":[{"title":"List Workforce Contracts","api":"GET /v1/own_workforce_contracts","href":"/api-reference/own-workforce/list-contracts"},{"title":"List Workforce Remunerations","api":"GET /v1/own_workforce_remunerations","href":"/api-reference/own-workforce/list-remunerations"},{"title":"Get Workforce Contract","api":"GET /v1/own_workforce_contracts/{contract_id}","href":"/api-reference/own-workforce/get-contract"}]},{"group":"Trainings","expanded":true,"pages":[{"title":"Get Workforce Trainings Unique Values","api":"GET /v1/own_workforce_trainings/unique-values","href":"/api-reference/own-workforce/unique-values-trainings"},{"title":"List Workforce Trainings","api":"GET /v1/own_workforce_trainings","href":"/api-reference/own-workforce/list-trainings"},{"title":"List Workforce Trainings Paginated","api":"GET /v1/own_workforce_trainings/paginated","href":"/api-reference/own-workforce/list-trainings-paginated"},{"title":"List Workforce Trainings by Employee","api":"GET /v1/own_workforce_trainings/own_workforce/{own_workforce_id}","href":"/api-reference/own-workforce/list-trainings-by-employee"},{"title":"Create Workforce Trainings (v2)","api":"POST /v2/own-workforce/trainings","tag":"BETA","href":"/api-reference/own-workforce/trainings-create-v2"},{"title":"Delete Workforce Trainings (v2)","api":"POST /v2/own-workforce/trainings/delete","tag":"BETA","href":"/api-reference/own-workforce/trainings-delete-v2"},{"title":"Delete Workforce Training","api":"DELETE /v1/own_workforce_trainings/{training_id}","deprecated":true,"href":"/api-reference/own-workforce/delete-training"},{"title":"Bulk Delete Workforce Trainings","api":"POST /v1/own_workforce_trainings/bulk-delete","deprecated":true,"href":"/api-reference/own-workforce/bulk-delete-trainings"},{"title":"Bulk Delete Workforce Trainings by Filters","api":"POST /v1/own_workforce_trainings/bulk-delete-by-filters","href":"/api-reference/own-workforce/bulk-delete-trainings-by-filters"},{"title":"Upload Workforce Trainings CSV","api":"POST /v1/own_workforce_trainings/bulk/csv","deprecated":true,"href":"/api-reference/own-workforce/csv-upload-trainings"}]}]},{"group":"Projects","pages":[{"title":"Projects API","href":"/api-reference/projects/overview"},{"title":"Consolidated Emissions","api":"GET /v1/projects/{project_id}/consolidated","href":"/api-reference/projects/consolidated"},{"title":"List Projects","api":"GET /v1/projects/extended","href":"/api-reference/projects/list"},{"title":"Recent Activities","api":"GET /v1/projects/{project_id}/recent-activities","href":"/api-reference/projects/recent-activities"},{"title":"Get Project","api":"GET /v1/projects/{project_id}","href":"/api-reference/projects/get"},{"title":"Create Project","api":"POST /v1/projects","href":"/api-reference/projects/create"},{"title":"Link Entities by Filters","api":"POST /v1/projects/{project_id}/entities/link-by-filters","href":"/api-reference/projects/link-by-filters"},{"title":"Link Entities to Project","api":"POST /v1/projects/{project_id}/entities/link","href":"/api-reference/projects/link-entities"},{"title":"Unlink Entities from Project","api":"POST /v1/projects/{project_id}/entities/unlink","href":"/api-reference/projects/unlink-entities"},{"title":"Update Project","api":"PUT /v1/projects/{project_id}","href":"/api-reference/projects/update"},{"title":"Delete Project","api":"DELETE /v1/projects/{project_id}","href":"/api-reference/projects/delete"},{"group":"Tasks","expanded":true,"pages":[{"title":"Get Subtasks","api":"GET /v1/tasks/{task_id}/subtasks","href":"/api-reference/projects/subtasks"},{"title":"List All Tasks","api":"GET /v1/projects/tasks","href":"/api-reference/projects/list-tasks"},{"title":"List Project Tasks","api":"GET /v1/projects/{project_id}/tasks","href":"/api-reference/projects/project-tasks"},{"title":"Task Versions","api":"GET /v1/tasks/{task_id}/versions","href":"/api-reference/projects/task-versions"},{"title":"Get Task","api":"GET /v1/tasks/{task_id}","href":"/api-reference/projects/get-task"},{"title":"Create Task","api":"POST /v2/tasks","href":"/api-reference/projects/create-task"},{"title":"Update Task","api":"PATCH /v1/tasks/{task_id}","href":"/api-reference/projects/update-task"},{"title":"Delete Task","api":"DELETE /v1/tasks/{task_id}","href":"/api-reference/projects/delete-task"}]}]},{"group":"Purchases","pages":[{"title":"Purchases API","href":"/api-reference/purchases/overview"},{"title":"Get Purchase Totals","api":"GET /v1/purchases/totals","href":"/api-reference/purchases/totals"},{"title":"Get Purchase Version History","api":"GET /v1/purchases/{purchase_id}/versions","href":"/api-reference/purchases/versions"},{"title":"List Purchase Suppliers","api":"GET /v1/purchases/suppliers","href":"/api-reference/purchases/suppliers-list"},{"title":"List Purchases","api":"GET /v1/purchases","href":"/api-reference/purchases/list"},{"title":"Get Purchase","api":"GET /v1/purchases/{purchase_id}","href":"/api-reference/purchases/get"},{"title":"Create Purchase","api":"POST /v1/purchases","deprecated":true,"href":"/api-reference/purchases/create"},{"title":"Create Purchase Suppliers (v2)","api":"POST /v2/purchases/suppliers","tag":"BETA","href":"/api-reference/purchases/suppliers-create-v2"},{"title":"Create Purchases (v2)","api":"POST /v2/purchases","tag":"BETA","href":"/api-reference/purchases/create-v2"},{"title":"Delete Purchase Suppliers (v2)","api":"POST /v2/purchases/suppliers/delete","tag":"BETA","href":"/api-reference/purchases/suppliers-delete-v2"},{"title":"Delete Purchases (v2)","api":"POST /v2/purchases/delete","tag":"BETA","href":"/api-reference/purchases/delete-v2"},{"title":"Classify Purchase Suppliers (v2)","api":"PATCH /v2/purchases/suppliers","tag":"BETA","href":"/api-reference/purchases/suppliers-update-v2"},{"title":"Update Purchase","api":"PATCH /v1/purchases/{purchase_id}","href":"/api-reference/purchases/update"},{"title":"Delete Purchase","api":"DELETE /v1/purchases/{purchase_id}","deprecated":true,"href":"/api-reference/purchases/delete"},{"title":"Bulk Delete Purchases","api":"POST /v1/purchases/bulk-delete","deprecated":true,"href":"/api-reference/purchases/bulk-delete"},{"title":"Bulk Delete Purchases by Filters","api":"POST /v1/purchases/bulk-delete-by-filters","href":"/api-reference/purchases/bulk-delete-by-filters"}]},{"group":"Reports \u0026 Dashboards (v1)","pages":[{"title":"Reports \u0026 Dashboards API","href":"/api-reference/reports/overview"},{"title":"Get Kpis","deprecated":null,"version":null,"openapi":"/openapi-kpi.json get /v1/report_builder/kpis","href":"/api-reference/reportbuilder/get-kpis"}]},{"group":"Sold Products","pages":[{"title":"Sold Products API","href":"/api-reference/sold-products/overview"},{"title":"Check Period Overlap","api":"GET /v1/sold-products/periods/check-overlap","href":"/api-reference/sold-products/check-overlap"},{"title":"List Existing Country Sales","api":"GET /v1/sold-products/existing-country-sales","href":"/api-reference/sold-products/existing-country-sales"},{"title":"List Periods","api":"GET /v1/sold-products/{sold_product_id}/periods","href":"/api-reference/sold-products/list-periods"},{"title":"List Sold Products","api":"GET /v1/sold-products/","href":"/api-reference/sold-products/list"},{"title":"Period Country Sales","api":"GET /v1/sold-products/{sold_product_id}/periods/{period_id}/country-sales","href":"/api-reference/sold-products/country-sales"},{"title":"Period Emissions","api":"GET /v1/sold-products/{sold_product_id}/periods/{period_id}/emissions","href":"/api-reference/sold-products/emissions"},{"title":"Create Sold Products (v2)","api":"POST /v2/sold-products","tag":"BETA","href":"/api-reference/sold-products/create-v2"},{"title":"Delete Sold Products (v2)","api":"POST /v2/sold-products/delete","tag":"BETA","href":"/api-reference/sold-products/delete-v2"},{"title":"Delete Period","api":"DELETE /v1/sold-products/{sold_product_id}/periods/{period_id}","href":"/api-reference/sold-products/delete-period"},{"title":"Delete Sold Product","api":"DELETE /v1/sold-products/{sold_product_id}","deprecated":true,"href":"/api-reference/sold-products/delete"},{"group":"Use of Sold Products","expanded":true,"pages":[{"title":"Create Use of Sold Products (v2)","api":"POST /v2/use-of-sold-products","tag":"BETA","href":"/api-reference/use-of-sold-products/create-v2"},{"title":"Delete Use of Sold Products (v2)","api":"POST /v2/use-of-sold-products/delete","tag":"BETA","href":"/api-reference/use-of-sold-products/delete-v2"}]}]},{"group":"Transport","pages":[{"title":"Transport API","href":"/api-reference/transport/overview"},{"title":"Get Route Counts","api":"GET /v1/transports/counts","href":"/api-reference/transport/counts"},{"title":"Get Transport Route Totals","api":"GET /v1/transports/totals","href":"/api-reference/transport/totals"},{"title":"Get Transport Route Version History","api":"GET /v1/transports/{transport_route_id}/versions","href":"/api-reference/transport/versions"},{"title":"List Transport Combinations","api":"GET /v1/transports/combinations","href":"/api-reference/transport/combinations"},{"title":"List Transport Routes","api":"GET /v1/transports","href":"/api-reference/transport/list"},{"title":"Get Transport Route","api":"GET /v1/transports/{transport_route_id}","href":"/api-reference/transport/get"},{"title":"Create Freight Transports (v2)","api":"POST /v2/transports","tag":"BETA","href":"/api-reference/transport/create-v2"},{"title":"Create Transport Route","api":"POST /v1/transports","deprecated":true,"href":"/api-reference/transport/create"},{"title":"Delete Freight Transports (v2)","api":"POST /v2/transports/delete","tag":"BETA","href":"/api-reference/transport/delete-v2"},{"title":"Update Transport Route","api":"PUT /v1/transports/{transport_route_id}","href":"/api-reference/transport/update"},{"title":"Delete Transport Route","api":"DELETE /v1/transports/{transport_route_id}","deprecated":true,"href":"/api-reference/transport/delete"},{"title":"Bulk Delete Transport Routes","api":"POST /v1/transports/bulk-delete","deprecated":true,"href":"/api-reference/transport/bulk-delete"},{"title":"Bulk Delete Transport Routes by Filters","api":"POST /v1/transports/bulk-delete-by-filters","href":"/api-reference/transport/bulk-delete-by-filters"},{"title":"Get Presigned Upload URL","api":"POST /v1/transports/upload/presigned-url","deprecated":true,"href":"/api-reference/transport/presigned-url"},{"title":"Upload Transport File","api":"POST /v1/transports/upload","deprecated":true,"href":"/api-reference/transport/upload"},{"title":"Transport Type Inference (do_not_know)","href":"/api-reference/transport/do-not-know-inference"}]},{"group":"Units","pages":[{"title":"List Units","api":"GET /v2/units","href":"/api-reference/units/list"}]},{"group":"Vehicles","pages":[{"title":"Vehicles API","href":"/api-reference/vehicles/overview"},{"title":"List Market Segments","api":"GET /v1/vehicles/market_segments","href":"/api-reference/vehicles/market-segments"},{"title":"List Vehicles","api":"GET /v1/vehicles","href":"/api-reference/vehicles/list"},{"title":"Vehicle Versions","api":"GET /v1/vehicles/{vehicle_id}/versions","href":"/api-reference/vehicles/versions"},{"title":"Get Vehicle","api":"GET /v1/vehicles/{vehicle_id}","href":"/api-reference/vehicles/get"},{"title":"Create Vehicle","api":"POST /v1/vehicles","deprecated":true,"href":"/api-reference/vehicles/create"},{"title":"Create Vehicles (v2)","api":"POST /v2/vehicles","tag":"BETA","href":"/api-reference/vehicles/create-v2"},{"title":"Delete Vehicles (v2)","api":"POST /v2/vehicles/delete","tag":"BETA","href":"/api-reference/vehicles/delete-v2"},{"title":"Update Vehicle","api":"PATCH /v1/vehicles/{vehicle_id}","href":"/api-reference/vehicles/update"},{"title":"Delete Vehicle","api":"DELETE /v1/vehicles/{vehicle_id}","deprecated":true,"href":"/api-reference/vehicles/delete"},{"title":"Bulk Delete Vehicles","api":"POST /v1/vehicles/bulk-delete","deprecated":true,"href":"/api-reference/vehicles/bulk-delete"},{"title":"Bulk Delete Vehicles by Filters","api":"POST /v1/vehicles/bulk-delete-by-filters","href":"/api-reference/vehicles/bulk-delete-by-filters"},{"title":"CSV Import","api":"POST /v1/vehicles/bulk/csv","deprecated":true,"href":"/api-reference/vehicles/csv-import"},{"group":"Unknown Vehicles","expanded":true,"pages":[{"title":"Unknown Vehicles API","href":"/api-reference/unknown-vehicles/overview"},{"title":"List Unknown Vehicles","api":"GET /v1/unknown-vehicles","href":"/api-reference/unknown-vehicles/list"}]},{"group":"Vehicle Consumptions","expanded":true,"pages":[{"title":"Consumption Calculation Steps","api":"GET /v1/vehicle_consumptions/{vehicle_consumption_id}/steps","href":"/api-reference/vehicles/consumptions-steps"},{"title":"Consumption Totals (Organization)","api":"GET /v2/vehicle_consumptions/totals","href":"/api-reference/vehicles/consumptions-org-totals"},{"title":"List All Vehicle Consumptions (Organization)","api":"GET /v2/vehicle_consumptions","href":"/api-reference/vehicles/consumptions-org-list"},{"title":"List Consumption Filter Values","api":"GET /v1/vehicles/{vehicle_id}/consumptions/unique-values","href":"/api-reference/vehicles/consumptions-unique-values"},{"title":"List Consumption Filter Values (Organization)","api":"GET /v2/vehicle_consumptions/unique-values","href":"/api-reference/vehicles/consumptions-org-unique-values"},{"title":"Vehicle Consumptions","api":"GET /v1/vehicles/{vehicle_id}/consumptions","href":"/api-reference/vehicles/consumptions"},{"title":"Get Consumption","api":"GET /v1/vehicle_consumptions/{vehicle_consumption_id}","href":"/api-reference/vehicles/consumptions-get"},{"title":"Create Vehicle Consumptions (v2)","api":"POST /v2/vehicle-consumptions","tag":"BETA","href":"/api-reference/vehicles/consumptions-create-v2"},{"title":"Delete Vehicle Consumptions (v2)","api":"POST /v2/vehicle-consumptions/delete","tag":"BETA","href":"/api-reference/vehicles/consumptions-delete-v2"},{"title":"Delete Vehicle Consumption","api":"DELETE /v1/vehicle_consumptions/{vehicle_consumption_id}","deprecated":true,"href":"/api-reference/vehicles/consumptions-delete"},{"title":"Delete Vehicle Consumptions by File","api":"DELETE /v1/vehicle_consumptions/by-file/{file_id}","href":"/api-reference/vehicles/consumptions-delete-by-file"},{"title":"Bulk Delete Vehicle Consumptions","api":"POST /v1/vehicles/{vehicle_id}/consumptions/bulk-delete","deprecated":true,"href":"/api-reference/vehicles/consumptions-bulk-delete"},{"title":"Bulk Delete Vehicle Consumptions (Organization)","api":"POST /v2/vehicle_consumptions/bulk-delete","deprecated":true,"href":"/api-reference/vehicles/consumptions-org-bulk-delete"},{"title":"Bulk Delete Vehicle Consumptions by Filters","api":"POST /v1/vehicles/{vehicle_id}/consumptions/bulk-delete-by-filters","href":"/api-reference/vehicles/consumptions-bulk-delete-by-filters"},{"title":"Bulk Delete Vehicle Consumptions by Filters (Organization)","api":"POST /v2/vehicle_consumptions/bulk-delete-by-filters","href":"/api-reference/vehicles/consumptions-org-bulk-delete-by-filters"},{"title":"Consumptions CSV Import","api":"POST /v1/vehicle_consumptions/bulk/csv","deprecated":true,"href":"/api-reference/vehicles/consumptions-csv-import"}]},{"group":"Vehicle Fuels","expanded":true,"pages":[{"title":"Vehicle Fuels API","href":"/api-reference/vehicle-fuels/overview"},{"title":"List Vehicle Fuels","api":"GET /v1/vehicle-fuels","href":"/api-reference/vehicle-fuels/list"}]}]},{"group":"Waste Water Treatments","pages":[{"title":"Get Waste Water Treatment by ID","api":"GET /v1/waste-water-treatments/{wwt_id}/detail","href":"/api-reference/waste-water-treatments/detail"},{"title":"Get Waste Water Treatment Version History","api":"GET /v1/waste-water-treatments/{waste_water_treatment_id}/versions","href":"/api-reference/waste-water-treatments/versions"},{"title":"List Waste Water Treatments","api":"GET /v1/waste-water-treatments","href":"/api-reference/waste-water-treatments/list"},{"title":"Create Waste Water Treatment","api":"POST /v1/waste-water-treatments","deprecated":true,"href":"/api-reference/waste-water-treatments/create"},{"title":"Create Waste Water Treatments (v2)","api":"POST /v2/waste-water-treatments","tag":"BETA","href":"/api-reference/waste-water-treatments/create-v2"},{"title":"Delete Waste Water Treatments (v2)","api":"POST /v2/waste-water-treatments/delete","tag":"BETA","href":"/api-reference/waste-water-treatments/delete-v2"},{"title":"Update Waste Water Treatment","api":"PATCH /v1/waste-water-treatments/{wwt_id}","href":"/api-reference/waste-water-treatments/update"}]},{"group":"Wastes","pages":[{"title":"Wastes API","href":"/api-reference/wastes/overview"},{"title":"Get Waste","api":"GET /v1/wastes/{waste_id}/detail","href":"/api-reference/wastes/get"},{"title":"Get Waste Version History","api":"GET /v1/wastes/{waste_id}/versions","href":"/api-reference/wastes/versions"},{"title":"List LER Codes","api":"GET /v1/wastes/ler-codes","href":"/api-reference/wastes/ler-codes"},{"title":"List R/D Codes","api":"GET /v1/wastes/rd-codes","href":"/api-reference/wastes/rd-codes"},{"title":"List Waste Emission Factors","api":"GET /v1/waste-efs","deprecated":true,"href":"/api-reference/wastes/emission-factors"},{"title":"List Waste Filter Values","api":"GET /v1/waste/unique-values","href":"/api-reference/wastes/unique-values"},{"title":"List Wastes","api":"GET /v1/wastes","href":"/api-reference/wastes/list"},{"title":"Create Waste","api":"POST /v1/wastes","deprecated":true,"href":"/api-reference/wastes/create"},{"title":"Create Wastes (v2)","api":"POST /v2/wastes","tag":"BETA","href":"/api-reference/wastes/create-v2"},{"title":"Delete Wastes (v2)","api":"POST /v2/wastes/delete","tag":"BETA","href":"/api-reference/wastes/delete-v2"},{"title":"Update Waste","api":"PATCH /v1/wastes/{waste_id}","href":"/api-reference/wastes/update"},{"title":"Bulk Delete Wastes","api":"POST /v1/waste/bulk-delete","deprecated":true,"href":"/api-reference/wastes/bulk-delete"},{"title":"Bulk Delete Wastes by Filters","api":"POST /v1/waste/bulk-delete-by-filters","href":"/api-reference/wastes/bulk-delete-by-filters"}]},{"group":"Webhooks","pages":[{"title":"Webhooks","tag":"BETA","href":"/api-reference/webhooks/overview"},{"title":"List Webhook Deliveries","api":"GET /v2/webhook-endpoints/{endpoint_id}/deliveries","tag":"BETA","href":"/api-reference/webhooks/list-deliveries"},{"title":"List Webhook Endpoints","api":"GET /v2/webhook-endpoints","tag":"BETA","href":"/api-reference/webhooks/list-endpoints"},{"title":"Get Webhook Endpoint","api":"GET /v2/webhook-endpoints/{endpoint_id}","tag":"BETA","href":"/api-reference/webhooks/get-endpoint"},{"title":"Create Webhook Endpoint","api":"POST /v2/webhook-endpoints","tag":"BETA","href":"/api-reference/webhooks/create-endpoint"},{"title":"Retry Webhook Delivery","api":"POST /v2/webhook-endpoints/{endpoint_id}/deliveries/{delivery_id}/retry","tag":"BETA","href":"/api-reference/webhooks/retry-delivery"},{"title":"Rotate Webhook Secret","api":"POST /v2/webhook-endpoints/{endpoint_id}/rotate-secret","tag":"BETA","href":"/api-reference/webhooks/rotate-secret"},{"title":"Send Test Event","api":"POST /v2/webhook-endpoints/{endpoint_id}/test","tag":"BETA","href":"/api-reference/webhooks/test-endpoint"},{"title":"Update Webhook Endpoint","api":"PATCH /v2/webhook-endpoints/{endpoint_id}","tag":"BETA","href":"/api-reference/webhooks/update-endpoint"},{"title":"Delete Webhook Endpoint","api":"DELETE /v2/webhook-endpoints/{endpoint_id}","tag":"BETA","href":"/api-reference/webhooks/delete-endpoint"}]}]},{"version":"Legacy API","pages":[{"title":"Legacy API","href":"/api-reference/introduction"}]}]},{"tab":"CLI","pages":[{"title":"CLI","href":"/cli/overview"}]},{"tab":"MCP","pages":[{"title":"MCP","href":"/mcp/overview"}]},{"tab":"Release Notes","pages":[{"title":"Release Notes","href":"/docs/release-notes"}]}]},"basePath":"","title":"Replace Commuting Response (v2) - Dcycle Platform Docs","buildId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","deploymentId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-DCDCdBVX.js","utils-ME8dDnLe.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-0e84ACsd.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-wgRBj-ia.js","snippetPresets-C11Sgb-o.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-C0lapOpP.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-ZeRQV8fF.js","shallow-BupWh095.js","getApiPlaygroundDisplay-BnYQO2Ss.js","CodeSnippet-RKKOc8c_.js","CodeSnippets-Drf_m8wS.js","Page-Bevw23-4.js","getPastedJson-u6QiPzNZ.js","icon-Bb-CBSxO.js","MethodPill-F7l5AI7V.js","DuplicateIcon-IiAXkdSg.js","createIcon-FliI8EBc.js","DynamicMarkdown-B62XqCSI.js","SectionHeading-Dj31pT03.js","axios-vUo_bRtp.js"]}