Prüfen Sie mindestens Incident-Erstellung mit active, approved und ohne aktiven Vertrag sowie Employee-Patches mit beiden blocked-Werten, gemischten Profil-/Sperrfeldern und vollständig weggelassenem blocked. Führen Sie die Prüfungen für Dry Run und reale Schreibvorgänge in einem dafür freigegebenen Testprozess aus. Bestehende Vorfälle müssen weiterhin bearbeitbar bleiben.
POST /incidents erfordert einen Vertrag mit Status active. Der Status approved reicht nicht aus. Ohne aktiven Vertrag scheitert die Anfrage mit HTTP 422 und EMPLOYEE_HAS_NO_ACTIVE_CONTRACT, auch bei dryRun=true; es wird kein Vorfall erstellt. Klären Sie den Vertragsstatus über den zuständigen Fachprozess, bevor Sie eine neue Anfrage mit neuer X-Request-ID senden.Bestehende Vorfälle bleiben unter ihren bisherigen Lebenszyklus- und Feldbeschränkungen bearbeitbar. Die neue Voraussetzung gilt für das Erstellen. Die Voraussetzung der Mitarbeiteraktivierung bleibt separat dokumentiert; eine Reihenfolge der Validierungsfehler ist nicht festgelegt.
Bei PATCH /employees/{id} verbietet ein aktiver Vertrag sowohl blocked: true als auch blocked: false. Enthält die Anfrage blocked, lehnt die API den gesamten Patch mit HTTP 422 und EMPLOYEE_HAS_ACTIVE_CONTRACT ab, auch bei dryRun=true. Andere Felder dieser abgelehnten Anfrage werden nicht übernommen. Auch das erneute Senden des bereits gespeicherten blocked-Werts ist unzulässig.Für reine Profiländerungen lassen Sie blocked vollständig weg. Konfigurieren Sie Serialisierung und Synchronisationsmapping so, dass blocked: false nicht als Standardwert hinzugefügt wird. Beispiel:
{ "phoneNumber": "+49 221 5550199"}
Wiederholen Sie einen unveränderten abgelehnten Patch nicht. Klären Sie den Sperrauftrag über den zuständigen Fachprozess oder senden Sie für eine unabhängig beabsichtigte Profiländerung einen neuen Patch ausschließlich mit den gewünschten unterstützten Profilfeldern. Ein erfolgreicher Dry Run reserviert den Vertragsstatus nicht; behandeln Sie dieselbe Validierung beim realen Schreibvorgang.Die Vertragsversion ist 2.0.0. Die weiterhin dokumentierte produktive Basis-URL lautet:
https://api.jobhandy.io/v1
Das OpenAPI-Dokument bezeichnet die JobHandy Public API als Version 2.0.0 und verwendet OpenAPI 3.1.0.
Version 2.0.0 enthält inkompatible Verhaltensänderungen. Ein reiner Schema-Diff oder die Neuerzeugung eines Clients reicht für die Migration nicht aus. Der dokumentierte URL-Pfad bleibt /v1.
Eine zukünftige Deprecation muss vor der Entfernung über den öffentlichen Changelog und eine Migrationsanleitung kommuniziert werden. Verlassen Sie sich nicht auf einen undokumentierten Endpoint oder ein undokumentiertes Feld, nur weil es in einer internen Umgebung sichtbar ist.
Zuletzt geändert am 20. Oktober 2026
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"JobHandy Developers","description":"Official JobHandy API documentation for secure HR, workforce, order, incident, division, and payroll integrations.","colors":{"primary":"#00505A","light":"#1FD1B6","dark":"#00505A"},"logo":{"light":"https://mintcdn.com/jobhandy/7JrsobpOBQPnQpU4/images/Jobhandy_Logo_green_white_RGB.png?fit=max\u0026auto=format\u0026n=7JrsobpOBQPnQpU4\u0026q=85\u0026s=a7e7a836fc983b471c30c9252f19ea28","dark":"https://mintcdn.com/jobhandy/15Qr7gvPLlVjKkPN/images/jobhandy-logo-dark.svg?fit=max\u0026auto=format\u0026n=15Qr7gvPLlVjKkPN\u0026q=85\u0026s=889e8811bb06f18e9df26f6fca07f85a","href":"https://www.jobhandy.io"},"favicon":{"light":"https://mintcdn.com/jobhandy/7JrsobpOBQPnQpU4/images/Jobhandy-Favicon_256x256_space.png?fit=max\u0026auto=format\u0026n=7JrsobpOBQPnQpU4\u0026q=85\u0026s=8ce840bfd195e203339ad55f07cef2c1","dark":"https://mintcdn.com/jobhandy/7JrsobpOBQPnQpU4/images/Jobhandy-Favicon_256x256_space.png?fit=max\u0026auto=format\u0026n=7JrsobpOBQPnQpU4\u0026q=85\u0026s=8ce840bfd195e203339ad55f07cef2c1"},"api":{"openapi":{"source":"https://assets.jobhandy.io/api-spec/jobhandy-public-api.openapi.json?rev=20261020-api-2.0.0"},"params":{"expanded":"closed","post":["x-client-default-state"]},"playground":{"display":"interactive","proxy":true},"examples":{"defaults":"required","languages":["bash","javascript","python","csharp","powershell"],"prefill":false,"autogenerate":true},"url":"full"},"appearance":{"default":"system"},"background":{"color":{"light":"#FFFFFF","dark":"#00505A"}},"navbar":{"links":[{"href":"https://www.jobhandy.io","label":"JobHandy"},{"href":"https://app.jobhandy.io/admin","label":"Administration"}],"primary":{"type":"button","label":"Open JobHandy","href":"https://app.jobhandy.io"}},"search":{"prompt":"How do I create an API key?"},"fonts":{"heading":{"family":"Satoshi","weight":700,"source":"https://cdn.prod.website-files.com/69b933d003ce13513e3316b1/69b93f6637dfed5a30f079d9_satoshi-bold.woff2","format":"woff2"},"body":{"family":"Satoshi","weight":400,"source":"https://cdn.prod.website-files.com/69b933d003ce13513e3316b1/69b93f66c771407c02111b70_satoshi-regular.woff2","format":"woff2"}},"icons":{"library":"lucide"},"styling":{"eyebrows":"breadcrumbs","codeblocks":{"theme":{"light":"github-light","dark":"github-dark"}},"latex":false},"contextual":{"options":["copy","download-spec","chatgpt","claude"],"display":"header"},"thumbnails":{"fonts":{"family":"Poppins"}},"interaction":{"drilldown":false},"metadata":{"timestamp":true},"navigation":{"directory":"card","languages":[{"language":"en","default":true,"href":"get-started/introduction"},{"language":"de","navbar":{"links":[{"href":"https://www.jobhandy.io","label":"JobHandy"},{"href":"https://app.jobhandy.io/admin","label":"Administration"}],"primary":{"type":"button","label":"JobHandy öffnen","href":"https://app.jobhandy.io"}},"href":"de/get-started/introduction"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"jobhandy","hasAudioNarration":false,"actualSubdomain":"jobhandy","customDomains":["developers.jobhandy.io"],"gitSource":{"type":"gitlab","owner":"jobhandy","repo":"jobhandy_apidocs","deployBranch":"import-mintlify-docs","contentDirectory":"","isPrivate":true,"projectId":88749629,"mountPath":"","label":"","_id":"6af30f5c2461d4bf973a09a4"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6af30f5c2461d4bf973a09ae","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"en","tag":"Documentation","count":32},{"language":"de","tag":"Dokumentation","count":32},{"language":"en","tag":"API Reference","count":29},{"language":"de","tag":"API-Referenz","count":29},{"language":"en","tag":"Architecture \u0026 Concepts","count":15},{"language":"de","tag":"Architektur \u0026 Konzepte","count":15},{"language":"en","tag":"Integration Guides","count":7},{"language":"de","tag":"Integrationsleitfäden","count":7},{"language":"en","tag":"Data Models","count":6},{"language":"de","tag":"Datenmodelle","count":6},{"language":"en","tag":"Incidents","count":5},{"language":"en","tag":"Get Started","count":5},{"language":"en","tag":"Operations","count":5},{"language":"de","tag":"Vorfälle","count":5},{"language":"de","tag":"Erste Schritte","count":5},{"language":"de","tag":"Betrieb","count":5},{"language":"en","tag":"Divisions","count":4},{"language":"en","tag":"Employees","count":4},{"language":"de","tag":"Divisionen","count":4},{"language":"de","tag":"Mitarbeiter","count":4}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"frank.offermann@jobhandy.io"}},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","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":"rbac-expansion","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":"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":"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":"editor-metadata","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},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"privacy":{"consentBanner":{"enabled":true}},"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":"@font-face{font-family:'JobHandy Display';src:url('https://cdn.prod.website-files.com/69b933d003ce13513e3316b1/69b93f6625e131cbe61fab09_GT-Walsheim-black.woff2') format('woff2');font-style:normal;font-weight:900;font-display:swap}#page-title{font-family:'JobHandy Display', 'Satoshi', 'Poppins', sans-serif;font-weight:900;line-height:1}html.dark{--gray-400: 255 255 255;--gray-500: 255 255 255}"}],"page":{"pagePath":"de/concepts/versioning","slug":"/de/concepts/versioning","pageMetadata":{"title":"Versionierung und Kompatibilität","sidebarTitle":"Versionierung","description":"Verstehen Sie URL-Versionierung, additive Änderungen, Breaking Changes, Enum-Erweiterungen und Verantwortlichkeiten bei Vertragsupdates.","href":"/de/concepts/versioning"},"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: \"Verstehen Sie URL-Versionierung, additive Änderungen, Breaking Changes, Enum-Erweiterungen und Verantwortlichkeiten bei Vertragsupdates.\"\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`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Mermaid,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Mermaid)_missingMdxReference(`Mermaid`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`migration-von-1-0-0-auf-2-0-0`,children:`Migration von 1.0.0 auf 2.0.0`}),`\n`,_jsxs(_components.p,{children:[`Prüfen Sie mindestens Incident-Erstellung mit `,_jsx(_components.code,{children:`active`}),`, `,_jsx(_components.code,{children:`approved`}),` und ohne aktiven Vertrag sowie Employee-Patches mit beiden `,_jsx(_components.code,{children:`blocked`}),`-Werten, gemischten Profil-/Sperrfeldern und vollständig weggelassenem `,_jsx(_components.code,{children:`blocked`}),`. Führen Sie die Prüfungen für Dry Run und reale Schreibvorgänge in einem dafür freigegebenen Testprozess aus. Bestehende Vorfälle müssen weiterhin bearbeitbar bleiben.`]}),`\n`,_jsx(Heading,{level:`2`,id:`api-2-0-0-aktiver-vertrag-erforderlich`,children:`API 2.0.0: Aktiver Vertrag erforderlich`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`POST /incidents`}),` erfordert einen Vertrag mit Status `,_jsx(_components.code,{children:`active`}),`. Der Status `,_jsx(_components.code,{children:`approved`}),` reicht nicht aus. Ohne aktiven Vertrag scheitert die Anfrage mit HTTP `,_jsx(_components.code,{children:`422`}),` und `,_jsx(_components.code,{children:`EMPLOYEE_HAS_NO_ACTIVE_CONTRACT`}),`, auch bei `,_jsx(_components.code,{children:`dryRun=true`}),`; es wird kein Vorfall erstellt. Klären Sie den Vertragsstatus über den zuständigen Fachprozess, bevor Sie eine neue Anfrage mit neuer `,_jsx(_components.code,{children:`X-Request-ID`}),` senden.`]}),`\n`,_jsx(_components.p,{children:`Bestehende Vorfälle bleiben unter ihren bisherigen Lebenszyklus- und Feldbeschränkungen bearbeitbar. Die neue Voraussetzung gilt für das Erstellen. Die Voraussetzung der Mitarbeiteraktivierung bleibt separat dokumentiert; eine Reihenfolge der Validierungsfehler ist nicht festgelegt.`}),`\n`,_jsx(Heading,{level:`2`,id:`api-2-0-0-sperränderungen-bei-aktiven-verträgen`,children:`API 2.0.0: Sperränderungen bei aktiven Verträgen`}),`\n`,_jsxs(_components.p,{children:[`Bei `,_jsx(_components.code,{children:`PATCH /employees/{id}`}),` verbietet ein aktiver Vertrag sowohl `,_jsx(_components.code,{children:`blocked: true`}),` als auch `,_jsx(_components.code,{children:`blocked: false`}),`. Enthält die Anfrage `,_jsx(_components.code,{children:`blocked`}),`, lehnt die API den `,_jsx(_components.strong,{children:`gesamten Patch`}),` mit HTTP `,_jsx(_components.code,{children:`422`}),` und `,_jsx(_components.code,{children:`EMPLOYEE_HAS_ACTIVE_CONTRACT`}),` ab, auch bei `,_jsx(_components.code,{children:`dryRun=true`}),`. Andere Felder dieser abgelehnten Anfrage werden nicht übernommen. Auch das erneute Senden des bereits gespeicherten `,_jsx(_components.code,{children:`blocked`}),`-Werts ist unzulässig.`]}),`\n`,_jsxs(_components.p,{children:[`Für reine Profiländerungen `,_jsxs(_components.strong,{children:[`lassen Sie `,_jsx(_components.code,{children:`blocked`}),` vollständig weg`]}),`. Konfigurieren Sie Serialisierung und Synchronisationsmapping so, dass `,_jsx(_components.code,{children:`blocked: false`}),` nicht als Standardwert hinzugefügt wird. Beispiel:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,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:`3`,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:` \"phoneNumber\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"+49 221 5550199\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Wiederholen Sie einen unveränderten abgelehnten Patch nicht. Klären Sie den Sperrauftrag über den zuständigen Fachprozess oder senden Sie für eine unabhängig beabsichtigte Profiländerung einen neuen Patch ausschließlich mit den gewünschten unterstützten Profilfeldern. Ein erfolgreicher Dry Run reserviert den Vertragsstatus nicht; behandeln Sie dieselbe Validierung beim realen Schreibvorgang.`}),`\n`,_jsxs(_components.p,{children:[`Die Vertragsversion ist `,_jsx(_components.code,{children:`2.0.0`}),`. Die weiterhin dokumentierte produktive Basis-URL lautet:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,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:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://api.jobhandy.io/v1`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`Das OpenAPI-Dokument bezeichnet die JobHandy Public API als Version `,_jsx(_components.code,{children:`2.0.0`}),` und verwendet OpenAPI `,_jsx(_components.code,{children:`3.1.0`}),`.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Version `,_jsx(_components.code,{children:`2.0.0`}),` enthält inkompatible Verhaltensänderungen. Ein reiner Schema-Diff oder die Neuerzeugung eines Clients reicht für die Migration nicht aus. Der dokumentierte URL-Pfad bleibt `,_jsx(_components.code,{children:`/v1`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`änderungsklassifizierung`,children:`Änderungsklassifizierung`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Änderung`}),_jsx(_components.th,{children:`Erwartete Behandlung`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Neue optionale Response-Eigenschaft`}),_jsx(_components.td,{children:`Kompatibel; Clients müssen unbekannte Eigenschaften ignorieren`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Neuer Endpoint oder neues Schema`}),_jsx(_components.td,{children:`Kompatible Erweiterung`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Neuer optionaler Request-Parameter`}),_jsx(_components.td,{children:`Kompatible Erweiterung`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Neuer Enum-Wert in einer Response`}),_jsx(_components.td,{children:`Als additiv behandeln; unbekannten Wert zur Mapping-Prüfung protokollieren`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Vorhandenes Feld wird in einem Request erforderlich`}),_jsx(_components.td,{children:`Breaking, sofern dokumentiertes Standard- oder Auslassungsverhalten die Kompatibilität nicht erhält`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Feld wird entfernt oder umbenannt`}),_jsx(_components.td,{children:`Breaking`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Bedeutung eines vorhandenen Werts ändert sich`}),_jsx(_components.td,{children:`Breaking`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Neue verpflichtende Authentifizierungsanforderung`}),_jsx(_components.td,{children:`Breaking`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`regeln-für-client-design`,children:`Regeln für Client-Design`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Verwenden Sie keine strikte Response-Deserialisierung, die unbekannte Eigenschaften ablehnt.`}),`\n`,_jsx(_components.li,{children:`Gehen Sie nicht davon aus, dass eine Enum-Liste niemals erweitert wird.`}),`\n`,_jsx(_components.li,{children:`Senden Sie ausschließlich dokumentierte Request-Eigenschaften, da Request-Schemas geschlossen sind.`}),`\n`,_jsx(_components.li,{children:`Pinnen und archivieren Sie die OpenAPI-Datei, mit der der Client erzeugt oder validiert wurde.`}),`\n`,_jsx(_components.li,{children:`Vergleichen Sie jeden neuen Vertrag vor dem Deployment mit der gepinnten Version.`}),`\n`,_jsxs(_components.li,{children:[`Prüfen Sie den `,_jsx(_components.a,{href:`/de/operations/changelog`,children:`Changelog`}),` auf Migrationshinweise.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`ablauf-eines-vertragsupdates`,children:`Ablauf eines Vertragsupdates`}),`\n`,_jsx(Mermaid,{chart:`flowchart LR\n A[Neue OpenAPI-Version] --> B[Automatisierter Diff]\n B --> C{Breaking Change oder Verhaltensänderung?}\n C -- Nein --> D[Client neu erzeugen oder validieren]\n C -- Ja --> E[Migration und Tests planen]\n D --> F[Abnahmetests]\n E --> F\n F --> G[Client bereitstellen]\n G --> H[Übernommene Vertragsversion dokumentieren]`}),`\n`,_jsx(Heading,{level:`2`,id:`deprecation`,children:`Deprecation`}),`\n`,_jsx(_components.p,{children:`Eine zukünftige Deprecation muss vor der Entfernung über den öffentlichen Changelog und eine Migrationsanleitung kommuniziert werden. Verlassen Sie sich nicht auf einen undokumentierten Endpoint oder ein undokumentiertes Feld, nur weil es in einer internen Umgebung sichtbar ist.`})]})}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":"Versionierung und Kompatibilität","sidebarTitle":"Versionierung","description":"Verstehen Sie URL-Versionierung, additive Änderungen, Breaking Changes, Enum-Erweiterungen und Verantwortlichkeiten bei Vertragsupdates.","href":"/de/concepts/versioning"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Migration von 1.0.0 auf 2.0.0","slug":"migration-von-1-0-0-auf-2-0-0","depth":2,"children":[]},{"title":"API 2.0.0: Aktiver Vertrag erforderlich","slug":"api-2-0-0-aktiver-vertrag-erforderlich","depth":2,"children":[]},{"title":"API 2.0.0: Sperränderungen bei aktiven Verträgen","slug":"api-2-0-0-sperränderungen-bei-aktiven-verträgen","depth":2,"children":[]},{"title":"Änderungsklassifizierung","slug":"änderungsklassifizierung","depth":2,"children":[]},{"title":"Regeln für Client-Design","slug":"regeln-für-client-design","depth":2,"children":[]},{"title":"Ablauf eines Vertragsupdates","slug":"ablauf-eines-vertragsupdates","depth":2,"children":[]},{"title":"Deprecation","slug":"deprecation","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"jobhandy","siteName":"JobHandy Developers","title":"Versionierung und Kompatibilität - JobHandy Developers","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/concepts/versioning","matchLevel":1},"de":{"href":"/de/concepts/versioning","matchLevel":0}}},"lastModified":"2026-10-20T15:19:50.055Z","gitLastModified":"2026-10-20T15:19:33.000Z","originalFileLocation":"de/concepts/versioning.mdx","locale":"de"},"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=\"Verstehen Sie URL-Versionierung, additive Änderungen, Breaking Changes, Enum-Erweiterungen und Verantwortlichkeiten bei Vertragsupdates.\">\u003cmeta data-mint-head name=\"application-name\" content=\"JobHandy Developers\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/jobhandy/SP5ZgDt4U4Hbtqxi/_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/jobhandy/SP5ZgDt4U4Hbtqxi/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/jobhandy/SP5ZgDt4U4Hbtqxi/_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/jobhandy/SP5ZgDt4U4Hbtqxi/_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/jobhandy/SP5ZgDt4U4Hbtqxi/_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/jobhandy/SP5ZgDt4U4Hbtqxi/_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/jobhandy/SP5ZgDt4U4Hbtqxi/_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/jobhandy/SP5ZgDt4U4Hbtqxi/_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/jobhandy/SP5ZgDt4U4Hbtqxi/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Versionierung und Kompatibilität - JobHandy Developers\">\u003cmeta data-mint-head property=\"og:description\" content=\"Verstehen Sie URL-Versionierung, additive Änderungen, Breaking Changes, Enum-Erweiterungen und Verantwortlichkeiten bei Vertragsupdates.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"JobHandy Developers\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.jobhandy.io/de/concepts/versioning\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://jobhandy.mintlify.site/_mintlify/api/og/v2?division=Architektur+%26+Konzepte\u0026amp;title=Versionierung+und+Kompatibilit%C3%A4t\u0026amp;description=Verstehen+Sie+URL-Versionierung%2C+additive+%C3%84nderungen%2C+Breaking+Changes%2C+Enum-Erweiterungen+und+Verantwortlichkeiten+bei+Vertragsupdates.\u0026amp;theme=084c06ca2711223b8e18ec62\u0026amp;signature=83db267337b1e2822ffb43f89f34450ae48a663bbdb745faf098e9c0863b22b4\">\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=\"Versionierung und Kompatibilität - JobHandy Developers\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Verstehen Sie URL-Versionierung, additive Änderungen, Breaking Changes, Enum-Erweiterungen und Verantwortlichkeiten bei Vertragsupdates.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://jobhandy.mintlify.site/_mintlify/api/og/v2?division=Architektur+%26+Konzepte\u0026amp;title=Versionierung+und+Kompatibilit%C3%A4t\u0026amp;description=Verstehen+Sie+URL-Versionierung%2C+additive+%C3%84nderungen%2C+Breaking+Changes%2C+Enum-Erweiterungen+und+Verantwortlichkeiten+bei+Vertragsupdates.\u0026amp;theme=084c06ca2711223b8e18ec62\u0026amp;signature=83db267337b1e2822ffb43f89f34450ae48a663bbdb745faf098e9c0863b22b4\">\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/jobhandy/SP5ZgDt4U4Hbtqxi/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"JobHandy Developers\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#00505A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.jobhandy.io/de/concepts/versioning\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/de/concepts/versioning.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://developers.jobhandy.io/de/concepts/versioning\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://developers.jobhandy.io/concepts/versioning\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://developers.jobhandy.io/concepts/versioning\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developers.jobhandy.io/#organization\",\"name\":\"JobHandy Developers\",\"url\":\"https://developers.jobhandy.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/jobhandy/7JrsobpOBQPnQpU4/images/Jobhandy_Logo_green_white_RGB.png?fit=max\u0026auto=format\u0026n=7JrsobpOBQPnQpU4\u0026q=85\u0026s=a7e7a836fc983b471c30c9252f19ea28\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developers.jobhandy.io#website\",\"name\":\"JobHandy Developers\",\"url\":\"https://developers.jobhandy.io\",\"publisher\":{\"@id\":\"https://developers.jobhandy.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.jobhandy.io/de/concepts/versioning#webpage\",\"url\":\"https://developers.jobhandy.io/de/concepts/versioning\",\"name\":\"Versionierung und Kompatibilität\",\"description\":\"Verstehen Sie URL-Versionierung, additive Änderungen, Breaking Changes, Enum-Erweiterungen und Verantwortlichkeiten bei Vertragsupdates.\",\"dateModified\":\"2026-10-20T15:19:33.000Z\",\"isPartOf\":{\"@id\":\"https://developers.jobhandy.io#website\"},\"breadcrumb\":{\"@id\":\"https://developers.jobhandy.io/de/concepts/versioning#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.jobhandy.io/de/concepts/versioning#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Architektur \u0026 Konzepte\",\"item\":\"https://developers.jobhandy.io/de/concepts/architecture-resource-model\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Versionierung und Kompatibilität\",\"item\":\"https://developers.jobhandy.io/de/concepts/versioning\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://developers.jobhandy.io/de/concepts/versioning#article\",\"headline\":\"Versionierung und Kompatibilität\",\"name\":\"Versionierung und Kompatibilität\",\"description\":\"Verstehen Sie URL-Versionierung, additive Änderungen, Breaking Changes, Enum-Erweiterungen und Verantwortlichkeiten bei Vertragsupdates.\",\"url\":\"https://developers.jobhandy.io/de/concepts/versioning\",\"mainEntityOfPage\":{\"@id\":\"https://developers.jobhandy.io/de/concepts/versioning#webpage\"},\"dateModified\":\"2026-10-20T15:19:33.000Z\",\"publisher\":{\"@id\":\"https://developers.jobhandy.io/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.jobhandy.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"JobHandy Developers\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"JobHandy Developers\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/de/concepts/versioning.md","siteName":"JobHandy Developers","nav":{"global":null,"directory":"card","languages":[{"language":"en","default":true,"pages":[{"title":"en","href":"/concepts/versioning"}]},{"language":"de","navbar":{"links":[{"href":"https://www.jobhandy.io","label":"JobHandy"},{"href":"https://app.jobhandy.io/admin","label":"Administration"}],"primary":{"type":"button","label":"JobHandy öffnen","href":"https://app.jobhandy.io"}},"tabs":[{"tab":"Dokumentation","groups":[{"group":"Erste Schritte","pages":[{"title":"JobHandy Public API","sidebarTitle":"Einführung","mode":"wide","href":"/de/get-started/introduction"},{"title":"API-Schlüssel erstellen und verwalten","sidebarTitle":"API-Schlüsselverwaltung","mode":"wide","href":"/de/get-started/api-key-management"},{"title":"Authentifizierung und Zugriffsscope","sidebarTitle":"Authentifizierung","href":"/de/get-started/authentication"},{"title":"Quickstart","sidebarTitle":"Quickstart","mode":"wide","href":"/de/get-started/quickstart"},{"title":"Go-live-Checkliste","sidebarTitle":"Go-live-Checkliste","href":"/de/get-started/go-live-checklist"}]},{"group":"Architektur \u0026 Konzepte","pages":[{"title":"Architektur und Ressourcenmodell","sidebarTitle":"Architektur \u0026 Ressourcenmodell","mode":"wide","href":"/de/concepts/architecture-resource-model"},{"title":"Begriffe","sidebarTitle":"Begriffe","href":"/de/concepts/terminology"},{"title":"Umgebungen und Tests","sidebarTitle":"Umgebungen \u0026 Tests","href":"/de/concepts/environments-testing"},{"title":"Tenant-Scope und Ressourcenzuordnung","sidebarTitle":"Tenant-Scope","href":"/de/concepts/tenant-scope"},{"title":"Request- und Response-Konventionen","sidebarTitle":"Request \u0026 Response","href":"/de/concepts/request-response"},{"title":"Datentypen und Formate","sidebarTitle":"Datentypen \u0026 Formate","href":"/de/concepts/data-types-formats"},{"title":"Pagination, Filterung und Sortierung","sidebarTitle":"Pagination \u0026 Filterung","mode":"wide","href":"/de/concepts/pagination-filtering"},{"title":"Dry-Run-Validierung","sidebarTitle":"Dry Runs","href":"/de/concepts/dry-runs"},{"title":"Request-IDs und Korrelation","sidebarTitle":"Request-IDs","href":"/de/concepts/request-ids"},{"title":"Retries, Idempotenz und mehrdeutige Ergebnisse","sidebarTitle":"Retries \u0026 Idempotenz","mode":"wide","href":"/de/concepts/retries-idempotency"},{"title":"Fehlerbehandlung","sidebarTitle":"Fehlerbehandlung","mode":"wide","href":"/de/concepts/error-handling"},{"title":"Rate Limits und Backoff","sidebarTitle":"Rate Limits","href":"/de/concepts/rate-limits"},{"title":"Sicherheit und Datenschutz","sidebarTitle":"Sicherheit \u0026 Datenschutz","href":"/de/concepts/security-data-protection"},{"title":"Funktionen und Einschränkungen","sidebarTitle":"Funktionen \u0026 Einschränkungen","description":"Erkennen Sie, welche Funktionen in Public v1 verfügbar sind und welche Abläufe außerhalb des aktuellen API-Vertrags liegen.","mode":"wide","href":"/de/concepts/capabilities-limitations"},{"title":"Versionierung und Kompatibilität","sidebarTitle":"Versionierung","href":"/de/concepts/versioning"}]},{"group":"Integrationsleitfäden","pages":[{"title":"Mitarbeiter synchronisieren","sidebarTitle":"Mitarbeiter synchronisieren","description":"Entwerfen Sie eine fortsetzbare Mitarbeitersynchronisation mit stabiler Identität, eindeutiger Zuordnung, Dry-Run-Validierung, partiellen Updates und Reconciliation.","mode":"wide","href":"/de/guides/sync-employees"},{"title":"Mitarbeiter-Offboarding","sidebarTitle":"Mitarbeiter-Offboarding","href":"/de/guides/employee-offboarding"},{"title":"Bestellungen und HR-Entscheidungen verarbeiten","sidebarTitle":"Bestellungen verarbeiten","mode":"wide","href":"/de/guides/process-orders"},{"title":"Mitarbeitervorfälle verwalten","sidebarTitle":"Vorfälle verwalten","mode":"wide","href":"/de/guides/manage-incidents"},{"title":"Divisionshierarchien verwalten","sidebarTitle":"Divisionen verwalten","mode":"wide","href":"/de/guides/manage-divisions"},{"title":"Payroll-Exportdokumente abrufen","sidebarTitle":"Payroll-Exporte","mode":"wide","href":"/de/guides/payroll-exports"},{"title":"API-Keys rotieren","sidebarTitle":"API-Keys rotieren","href":"/de/guides/rotate-api-keys"}]},{"group":"Betrieb","pages":[{"title":"Tooling und OpenAPI","sidebarTitle":"Tooling \u0026 OpenAPI","href":"/de/operations/tooling-openapi"},{"title":"Troubleshooting","sidebarTitle":"Troubleshooting","mode":"wide","href":"/de/operations/troubleshooting"},{"title":"Häufig gestellte Fragen","sidebarTitle":"FAQ","href":"/de/operations/faq"},{"title":"Support und Eskalation","sidebarTitle":"Support","href":"/de/operations/support"},{"title":"API-Changelog","sidebarTitle":"Changelog","href":"/de/operations/changelog"}]}]},{"tab":"API-Referenz","pages":[{"title":"API-Referenz","href":"/de/api-reference/overview"}]}]}]},"basePath":"","title":"Versionierung und Kompatibilität - JobHandy Developers","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":[],"chunks":[]}