","label":"Personality test","score":{"value":97,"max":100},"status":"COMPLETED"}],"attachments":[{"name":"Assessment Report.pdf","data":"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=","content_type":"application/pdf"}]}}}}}},"responses":{"200":{"description":"PUT /assessment/orders/:assessment_order_id/result Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PutAssessmentOrdersAssessmentOrderIdResultPositiveResponse"}}}},"default":{"$ref":"#/components/responses/ErrorResponseATS"}}}},"/lms/users":{"get":{"operationId":"GetLmsUsers","summary":"Get users","description":"Get users\n\n\n\n**Closed Beta Feature:** This endpoint is currently in closed beta. We're testing it with selected customers before its public release. If you're interested in learning more or getting early access, please reach out.\n\n\n\nRetrieve all users from the LMS system. Users are learners who can enroll in and complete courses. The response includes their current progress across all enrolled courses.","tags":["General"],"parameters":[{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetLmsUsersParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetLmsUsersParameterRemoteIds"}},{"name":"email","in":"query","required":false,"description":"Filter users by their work email address.","schema":{"$ref":"#/components/schemas/GetLmsUsersParameterEmail"}},{"name":"status","in":"query","required":false,"description":"Filter users by their current status.","schema":{"$ref":"#/components/schemas/GetLmsUsersParameterStatus"}}],"responses":{"200":{"description":"GET /lms/users Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetLmsUsersPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","first_name":"Sarah","last_name":"Johnson","work_email":"sarah.johnson@acme.com","status":"ACTIVE","remote_created_at":"2022-08-07T14:01:29.196Z","progress":[{"course_id":"3KMdr68N8kG9EzLwjsN9aoz","progress_id":"7xPdr68N8kG9EzLwjsN9xyz","status":"COMPLETED","enrollment_date":"2024-03-01T10:00:00.000Z","completion_date":"2024-04-15T16:30:00.000Z","score":92.5,"duration":480,"comments":"Excellent performance throughout the course."},{"course_id":"9ZMdr68N8kG9EzLwjsN9def","progress_id":"2wQdr68N8kG9EzLwjsN9abc","status":"STARTED","enrollment_date":"2024-05-10T08:00:00.000Z","completion_date":null,"score":null,"duration":120,"comments":null}],"changed_at":"2022-08-07T14:01:29.196Z","remote_data":null}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/lms/courses":{"get":{"operationId":"GetLmsCourses","summary":"Get courses","description":"Get courses\n\n\n\n**Closed Beta Feature:** This endpoint is currently in closed beta. We're testing it with selected customers before its public release. If you're interested in learning more or getting early access, please reach out.\n\n\n\nRetrieve all courses available in the LMS. Courses are structured learning programs that contain ordered content items and develop specific skills.","tags":["General"],"parameters":[{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetLmsCoursesParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"Filter by a comma-separated list of remote IDs.","schema":{"$ref":"#/components/schemas/GetLmsCoursesParameterRemoteIds"}},{"name":"title_contains","in":"query","required":false,"description":"Filter by the `title` field. Can be used to find courses by keywords present in the course title.","schema":{"$ref":"#/components/schemas/GetLmsCoursesParameterTitleContains"}}],"responses":{"200":{"description":"GET /lms/courses Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetLmsCoursesPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"3KMdr68N8kG9EzLwjsN9aoz","remote_id":"42","title":"TypeScript for Beginners","description":"A comprehensive introduction to TypeScript programming, covering types, interfaces, generics, and best practices for modern web development.","url":"https://learning.acme.com/courses/typescript-beginners","remote_created_at":"2022-08-07T14:01:29.196Z","skills":[{"name":"TypeScript Programming","skill_level":"Beginner"},{"name":"JavaScript Fundamentals","skill_level":"Intermediate"}],"ordered_content":[{"id":"8DMdr68N8kG9EzLwjsN9content1","remote_id":"101","title":"Introduction to TypeScript","description":"Learn what TypeScript is and why it matters","url":"https://learning.acme.com/courses/typescript-beginners/intro","type":"VIDEO","remote_created_at":"2022-08-07T14:01:29.196Z"},{"id":"9EMdr68N8kG9EzLwjsN9content2","remote_id":"102","title":"Basic Types","description":"Understanding TypeScript type system","url":"https://learning.acme.com/courses/typescript-beginners/types","type":"TEXT","remote_created_at":"2022-08-07T14:01:29.196Z"},{"id":"1FMdr68N8kG9EzLwjsN9content3","remote_id":"103","title":"Types Quiz","description":"Test your understanding of TypeScript types","url":"https://learning.acme.com/courses/typescript-beginners/quiz-1","type":"QUIZ","remote_created_at":"2022-08-07T14:01:29.196Z"}],"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_data":null}]}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}},"post":{"operationId":"PostLmsCourses","summary":"Create course","description":"Create course\n\n\n\n**Closed Beta Feature:** This endpoint is currently in closed beta. We're testing it with selected customers before its public release. If you're interested in learning more or getting early access, please reach out.\n\n\n\nCreate a new course in the LMS with a title, description, and associated skills. Content items can be added separately using the content endpoints.","tags":["General"],"requestBody":{"description":"POST /lms/courses Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostLmsCoursesRequestBody"}}}},"responses":{"200":{"description":"POST /lms/courses Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostLmsCoursesPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"id":"3KMdr68N8kG9EzLwjsN9aoz","remote_id":"42","title":"TypeScript for Beginners","description":"A comprehensive introduction to TypeScript programming, covering types, interfaces, generics, and best practices for modern web development.","url":"https://learning.acme.com/courses/typescript-beginners","remote_created_at":"2022-08-07T14:01:29.196Z","skills":[{"name":"TypeScript Programming","skill_level":"Beginner"},{"name":"JavaScript Fundamentals","skill_level":"Intermediate"}],"ordered_content":[],"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_data":null}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/lms/progress":{"post":{"operationId":"PostLmsProgress","summary":"Create progress","description":"Create progress\n\n\n\n**Closed Beta Feature:** This endpoint is currently in closed beta. We're testing it with selected customers before its public release. If you're interested in learning more or getting early access, please reach out.\n\n\n\nCreate a new progress entry for a user in a course. This records enrollment, completion, scores, and other learning metrics.","tags":["General"],"requestBody":{"description":"POST /lms/progress Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostLmsProgressRequestBody"}}}},"responses":{"200":{"description":"POST /lms/progress Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostLmsProgressPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"id":"7xPdr68N8kG9EzLwjsN9xyz","remote_id":"892476","course_id":"3KMdr68N8kG9EzLwjsN9aoz","user_id":"26vafvWSRmbhNcxJYqjCzuJg","status":"COMPLETED","enrollment_date":"2024-03-01T10:00:00.000Z","completion_date":"2024-04-15T16:30:00.000Z","score":92.5,"duration":480,"comments":"Excellent performance throughout the course.","changed_at":"2022-08-07T14:01:29.196Z","remote_data":null}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/lms/progress/{progress_id}":{"patch":{"operationId":"PatchLmsProgressProgressId","summary":"Update progress","description":"Update progress\n\n\n\n**Closed Beta Feature:** This endpoint is currently in closed beta. We're testing it with selected customers before its public release. If you're interested in learning more or getting early access, please reach out.\n\n\n\nUpdate an existing progress entry. Use this to record changes in status, scores, completion dates, or other learning metrics.","tags":["General"],"parameters":[{"name":"progress_id","in":"path","required":true,"description":"The ID of the progress entry","schema":{"$ref":"#/components/schemas/PatchLmsProgressProgressIdParameterProgressId"}}],"requestBody":{"description":"PATCH /lms/progress/:progress_id Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchLmsProgressProgressIdRequestBody"}}}},"responses":{"200":{"description":"PATCH /lms/progress/:progress_id Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchLmsProgressProgressIdPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"id":"7xPdr68N8kG9EzLwjsN9xyz","remote_id":"892476","course_id":"3KMdr68N8kG9EzLwjsN9aoz","user_id":"26vafvWSRmbhNcxJYqjCzuJg","status":"COMPLETED","enrollment_date":"2024-03-01T10:00:00.000Z","completion_date":"2024-04-15T16:30:00.000Z","score":92.5,"duration":480,"comments":"Excellent performance throughout the course.","changed_at":"2022-08-07T14:01:29.196Z","remote_data":null}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/lms/content":{"post":{"operationId":"PostLmsContent","summary":"Add content to course","description":"Add content to course\n\n\n\n**Closed Beta Feature:** This endpoint is currently in closed beta. We're testing it with selected customers before its public release. If you're interested in learning more or getting early access, please reach out.\n\n\n\nAdd a new content item to a course. Content items are the building blocks of courses and can be videos, text materials, quizzes, or coaching sessions. They will be added to the end of the course's ordered content list.","tags":["General"],"requestBody":{"description":"POST /lms/content Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostLmsContentRequestBody"}}}},"responses":{"200":{"description":"POST /lms/content Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostLmsContentPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"id":"8DMdr68N8kG9EzLwjsN9content1","remote_id":"101","title":"Understanding Async/Await","description":"Deep dive into asynchronous programming patterns in TypeScript, covering promises, async/await syntax, and error handling.","url":"https://learning.acme.com/courses/typescript-advanced/async-await","type":"VIDEO","course_id":"9ZMdr68N8kG9EzLwjsN9def","remote_created_at":"2022-08-07T14:01:29.196Z","changed_at":"2022-08-07T14:01:29.196Z","remote_data":null}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/ai-apply/career-sites":{"post":{"operationId":"PostAiApplyCareerSites","summary":"Create a career site","description":"Create a career site entry. Career sites are required to be specified when parsing job postings, grouping them under a single entity.","tags":["AI Apply"],"requestBody":{"description":"POST /ai-apply/career-sites Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAiApplyCareerSitesRequestBody"},"examples":{"example1":{"value":{"label":"Acme Inc. California"}}}}}},"responses":{"200":{"description":"POST /ai-apply/career-sites Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAiApplyCareerSitesPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"id":"mK7pQw9xNvEr2LdY5sGh8TcZ","label":"Acme Inc. California"}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseAiApply"}}},"get":{"operationId":"GetAiApplyCareerSites","summary":"Get career sites","description":"Get all career sites.","tags":["AI Apply"],"parameters":[{"name":"cursor","in":"query","required":false,"description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response.","schema":{"$ref":"#/components/schemas/GetAiApplyCareerSitesParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetAiApplyCareerSitesParameterPageSize"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetAiApplyCareerSitesParameterIds"}}],"responses":{"200":{"description":"GET /ai-apply/career-sites Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAiApplyCareerSitesPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"results":[{"id":"mK7pQw9xNvEr2LdY5sGh8TcZ","label":"Acme Inc. California"}],"next":null}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseAiApply"}}}},"/ai-apply/postings":{"get":{"operationId":"GetAiApplyPostings","summary":"Get job postings","description":"Get all job postings. To get the application form and submit applications, use the POST /postings/:id/inquire endpoint.","tags":["AI Apply"],"parameters":[{"name":"cursor","in":"query","required":false,"description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response.","schema":{"$ref":"#/components/schemas/GetAiApplyPostingsParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetAiApplyPostingsParameterPageSize"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetAiApplyPostingsParameterIds"}},{"name":"career_site_ids","in":"query","required":false,"description":"Filter by a comma-separated list of career site IDs such as `A8m9k9RhjNokMfRTWtpQ99VtH,rCbkAA3pvcKjsFYwEeXtCQkc`.","schema":{"$ref":"#/components/schemas/GetAiApplyPostingsParameterCareerSiteIds"}},{"name":"job_codes","in":"query","required":false,"description":"Filter by a comma-separated list of job codes such as `ACME_13,ACME_14`.","schema":{"$ref":"#/components/schemas/GetAiApplyPostingsParameterJobCodes"}}],"responses":{"200":{"description":"GET /ai-apply/postings Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAiApplyPostingsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"results":[{"id":"9QGNv3B98kL3hyELE1qsZ86s","career_site":{"id":"Chc4dua5asAQ48KUERDVF1bs","label":"Acme"},"url":"https://careers.acme.com/jobs/fullstack-engineer-ai-infra-14102","job_code":"ACME_13","created_at":"2025-01-01T00:00:00.000Z","updated_at":"2025-03-02T23:12:32.000Z","archived_at":null,"archived_reason":null,"availability":"PENDING"}],"next":null}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseAiApply"}}},"post":{"operationId":"PostAiApplyPostings","summary":"Parse a job posting","description":"Submit a job posting URL to be parsed asynchronously. Returns ID to track progress.","tags":["AI Apply"],"requestBody":{"description":"POST /ai-apply/postings Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAiApplyPostingsRequestBody"},"examples":{"example1":{"value":{"career_site_id":"Chc4dua5asAQ48KUERDVF1bs","url":"https://careers.acme.com/jobs/fullstack-engineer-ai-infra-14102","job_code":"ACME_13","location":{"country":"US","postal_code":"94115"}}}}}}},"responses":{"200":{"description":"POST /ai-apply/postings Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAiApplyPostingsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"id":"9QGNv3B98kL3hyELE1qsZ86s","career_site":{"id":"Chc4dua5asAQ48KUERDVF1bs","label":"Acme"},"url":"https://careers.acme.com/jobs/fullstack-engineer-ai-infra-14102","job_code":"ACME_13","created_at":"2025-01-01T00:00:00.000Z","updated_at":"2025-03-02T23:12:32.000Z","archived_at":null,"archived_reason":null,"availability":"PENDING"}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseAiApply"}}}},"/ai-apply/postings/{posting_id}/inquire":{"post":{"operationId":"PostAiApplyPostingsPostingIdInquire","summary":"Inquire about a job posting and the application f…","description":"Receive the application form (screening questions) for a job posting and a submission token. This endpoint must be called before submitting an application to ensure you have the latest questions and a valid submission token. The submission token is valid for 12 hours and prevents duplicate submissions. The application form may contain conditional questions that are only shown based on answers to previous questions (check the display_when field).","tags":["AI Apply"],"parameters":[{"name":"posting_id","in":"path","required":true,"description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing.","schema":{"$ref":"#/components/schemas/PostAiApplyPostingsPostingIdInquireParameterPostingId"},"examples":{"example1":{"value":"9QGNv3B98kL3hyELE1qsZ86s"}}}],"requestBody":{"description":"POST /ai-apply/postings/:posting_id/inquire Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAiApplyPostingsPostingIdInquireRequestBody"},"examples":{"example1":{"value":{}}}}}},"responses":{"200":{"description":"POST /ai-apply/postings/:posting_id/inquire Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAiApplyPostingsPostingIdInquirePositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"application_form":[{"block_type":"SECTION","label":"Personal Information","children":[{"block_type":"QUESTION","question_id":"6VrjehyBk685vubNydiR1hSn","label":"First name","description":null,"required":true,"category":null,"question_type":"TEXT","unified_key":"FIRST_NAME","options":null,"display_when":null},{"block_type":"QUESTION","question_id":"Hjsapofs69cx2iAu6MtTfhoh","label":"Last name","description":null,"required":true,"category":null,"question_type":"TEXT","unified_key":"LAST_NAME","options":null,"display_when":null}]},{"block_type":"QUESTION","question_id":"EKaumKPGjeA97cb8ystMmkCe","label":"What is your desired working location?","description":"Select your preferred work arrangement","required":true,"category":null,"question_type":"SINGLE_SELECT","unified_key":null,"options":[{"id":"BsnL4pAhNQc26uSc4JopTP3P","label":"Remote","unified_key":null},{"id":"8T4fcKgzLxbKFUo4saXaoMTG","label":"On-site","unified_key":null},{"id":"2cJDK3dq4WNjovohSG7dSpfd","label":"Hybrid","unified_key":null}],"display_when":null},{"block_type":"QUESTION","question_id":"2H26BKTbDn2ygN2GfEcCsUP8","label":"What timezone are you in?","description":"This helps us schedule meetings at convenient times","required":true,"category":null,"question_type":"TEXT","unified_key":null,"options":null,"display_when":{"question_id":"EKaumKPGjeA97cb8ystMmkCe","answer_equals":"BsnL4pAhNQc26uSc4JopTP3P"}},{"block_type":"QUESTION","question_id":"AdM1EuwBKE4pz94SSRHMgmba","label":"Which office would you prefer?","description":null,"required":true,"category":null,"question_type":"SINGLE_SELECT","unified_key":null,"options":[{"id":"EHCqUb5E6xzfjnfHT2LEgmM7","label":"San Francisco","unified_key":null},{"id":"5RbHT73StFM5tHdF3aVr4do1","label":"New York","unified_key":null},{"id":"F4rRwGTNeLQZV5VLwstERpsT","label":"London","unified_key":null}],"display_when":{"question_id":"EKaumKPGjeA97cb8ystMmkCe","answer_equals":"8T4fcKgzLxbKFUo4saXaoMTG"}},{"block_type":"QUESTION","question_id":"FuVZvF26NueKcN46o5euHeGx","label":"How many days per week would you like to work in the office?","description":null,"required":true,"category":null,"question_type":"NUMBER","unified_key":null,"options":null,"display_when":{"question_id":"EKaumKPGjeA97cb8ystMmkCe","answer_equals":"2cJDK3dq4WNjovohSG7dSpfd"}}],"submission_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseAiApply"}}}},"/ai-apply/postings/{posting_id}/parse":{"post":{"operationId":"PostAiApplyPostingsPostingIdParse","summary":"Re-parse an existing job posting","description":"Trigger re-parsing of an already parsed job posting.","tags":["AI Apply"],"parameters":[{"name":"posting_id","in":"path","required":true,"description":"The ID of the job posting to parse a new revision for","schema":{"$ref":"#/components/schemas/PostAiApplyPostingsPostingIdParseParameterPostingId"},"examples":{"example1":{"value":"9QGNv3B98kL3hyELE1qsZ86s"}}}],"requestBody":{"description":"POST /ai-apply/postings/:posting_id/parse Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAiApplyPostingsPostingIdParseRequestBody"},"examples":{"example1":{"value":{}}}}}},"responses":{"200":{"description":"POST /ai-apply/postings/:posting_id/parse Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAiApplyPostingsPostingIdParsePositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"id":"9QGNv3B98kL3hyELE1qsZ86s","career_site":{"id":"Chc4dua5asAQ48KUERDVF1bs","label":"Acme"},"url":"https://careers.acme.com/jobs/fullstack-engineer-ai-infra-14102","job_code":"ACME_13","created_at":"2025-01-01T00:00:00.000Z","updated_at":"2025-03-02T23:12:32.000Z","archived_at":null,"archived_reason":null,"availability":"PENDING"}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseAiApply"}}}},"/ai-apply/apply":{"post":{"operationId":"PostAiApplyApply","summary":"Submit job application","description":"Submit a job application using a submission token. The application will be queued and processed asynchronously. Returns ID to track progress and match with webhooks.","tags":["AI Apply"],"requestBody":{"description":"POST /ai-apply/apply Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAiApplyApplyRequestBody"},"examples":{"example1":{"value":{"submission_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...","candidate_email":"john.doe@gmail.com","query_params":{"source":"acme","user_id":"8e05b4e5-c586-4d42-8606-b45febad3af3"},"screening_question_answers":[{"question_id":"A4zHtGQLF823sNmqy4WxoduFH","answer":"John Doe"},{"question_id":"CDEfHvMGSDnM6pq5HECdE2Kg","answer":"EycufwZHfwcVDmE47X7QN8X2"},{"question_id":"3dT5df2PhyVp7Rze76S5NqrW","answer":{"name":"john_doe_resume.pdf","content_type":"application/pdf","data":"JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovT3V0bGluZXMgMiAwIFIKL1BhZ2VzIDMgMCBSCj4+CmVuZG9iag=="}}]}}}}}},"responses":{"200":{"description":"POST /ai-apply/apply Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAiApplyApplyPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"id":"ADbmw5XSkeCSE1fAucoxEGnwZ","posting_id":"JDn252PEYa4rMhKbJBjtn3ng","status":"PENDING","created_at":"2025-01-01T00:00:00.000Z","updated_at":"2025-03-02T23:12:32.000Z"}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseAiApply"}}}},"/ai-apply/applications":{"get":{"operationId":"GetAiApplyApplications","summary":"Get applications","description":"Get all applications.","tags":["AI Apply"],"parameters":[{"name":"cursor","in":"query","required":false,"description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response.","schema":{"$ref":"#/components/schemas/GetAiApplyApplicationsParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 250.","schema":{"$ref":"#/components/schemas/GetAiApplyApplicationsParameterPageSize"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetAiApplyApplicationsParameterIds"}},{"name":"job_posting_ids","in":"query","required":false,"description":"Filter by a comma-separated list of job posting IDs such as `89V6GEKpdZwqbxQz59n1ftFb,kcGHREEXCMF26Yhpuyh1gDVE`.","schema":{"$ref":"#/components/schemas/GetAiApplyApplicationsParameterJobPostingIds"}}],"responses":{"200":{"description":"GET /ai-apply/applications Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAiApplyApplicationsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"results":[{"id":"ADbmw5XSkeCSE1fAucoxEGnwZ","job_posting_id":"JDn252PEYa4rMhKbJBjtn3ng","status":"PENDING","created_at":"2025-01-01T00:00:00.000Z","updated_at":"2025-03-02T23:12:32.000Z"}],"next":null}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseAiApply"}}}},"/ai-apply/unified-api/jobs":{"get":{"operationId":"GetAiApplyUnifiedApiJobs","summary":"Get jobs","description":"Get jobs in a backwards compatible way as you would [via Kombo's unified API](https://docs.kombo.dev/ats/v1/get-jobs). This is not the recommended way to get jobs with AI Apply.","tags":["AI Apply"],"parameters":[{"name":"cursor","in":"query","required":false,"description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response.","schema":{"$ref":"#/components/schemas/GetAiApplyUnifiedApiJobsParameterCursor"}},{"name":"page_size","in":"query","required":false,"description":"The number of results to return per page. Maximum is 5.","schema":{"$ref":"#/components/schemas/GetAiApplyUnifiedApiJobsParameterPageSize"}},{"name":"ids","in":"query","required":false,"description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.","schema":{"$ref":"#/components/schemas/GetAiApplyUnifiedApiJobsParameterIds"}},{"name":"remote_ids","in":"query","required":false,"description":"This parameter exists for backwards compatibility with Kombo's unified API. Supplying a comma-separated list of remote IDs such as `32,33` will return no jobs because AI Apply does not interface with a remote system that issues remote IDs.","schema":{"$ref":"#/components/schemas/GetAiApplyUnifiedApiJobsParameterRemoteIds"}},{"name":"job_codes","in":"query","required":false,"description":"Filter by a comma-separated list of job codes such as `ACME_12,ACME_14`.","schema":{"$ref":"#/components/schemas/GetAiApplyUnifiedApiJobsParameterJobCodes"}},{"name":"career_site_ids","in":"query","required":false,"description":"Filter by a comma-separated list of career site IDs such as `A8m9k9RhjNokMfRTWtpQ99VtH,rCbkAA3pvcKjsFYwEeXtCQkc`.","schema":{"$ref":"#/components/schemas/GetAiApplyUnifiedApiJobsParameterCareerSiteIds"}}],"responses":{"200":{"description":"GET /ai-apply/unified-api/jobs Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAiApplyUnifiedApiJobsPositiveResponse"}}}},"default":{"$ref":"#/components/responses/ErrorResponseAiApply"}}}},"/ai-apply/unified-api/jobs/{job_id}/applications":{"post":{"operationId":"PostAiApplyUnifiedApiJobsJobIdApplications","summary":"Create application","description":"Create applications in a backwards compatible way as you would [via Kombo's unified API](https://docs.kombo.dev/ats/v1/post-jobs-job-id-applications). This is not the recommended way to create applications with AI Apply.","tags":["AI Apply"],"parameters":[{"name":"job_id","in":"path","required":true,"description":"The Kombo ID or Remote ID of the Job this candidate should apply for. If you want to use the ID of the integrated system (remote_id) you need to prefix the id with \"remote:\". You can use the remote ID if you do not want to sync jobs.","schema":{"$ref":"#/components/schemas/PostAiApplyUnifiedApiJobsJobIdApplicationsParameterJobId"},"examples":{"example1":{"value":"BDpgnpZ148nrGh4mYHNxJBgx"}}}],"requestBody":{"description":"POST /ai-apply/unified-api/jobs/:job_id/applications Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAiApplyUnifiedApiJobsJobIdApplicationsRequestBody"},"examples":{"example1":{"value":{"candidate":{"first_name":"Frank","last_name":"Doe","company":"Acme Inc.","title":"Head of Integrations","email_address":"frank.doe@example.com","phone_number":"+1-541-754-3010","gender":"MALE","salary_expectations":{"amount":100000,"period":"YEAR"},"availability_date":"2021-01-01","location":{"city":"New York","country":"US"}},"stage_id":"8x3YKRDcuRnwShdh96ShBNn1","attachments":[{"name":"Frank Doe CV.txt","data":"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=","type":"CV","content_type":"text/plain"}],"screening_question_answers":[{"question_id":"3phFBNXRweGnDmsU9o2vdPuQ","answer":"Yes"},{"question_id":"EYJjhMQT3LtVKXnTbnRT8s6U","answer":["GUzE666zfyjeoCJX6A8n7wh6","5WPHzzKAv8cx97KtHRUV96U8","7yZfKGzWigXxxRTygqAfHvyE"]}]}}}}}},"responses":{"200":{"description":"POST /ai-apply/unified-api/jobs/:job_id/applications Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAiApplyUnifiedApiJobsJobIdApplicationsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"id":"H77fDF8uvEzGNPRubiz5DvQ7","remote_id":"32","outcome":"PENDING","rejection_reason_name":null,"rejected_at":null,"current_stage_id":"5J7L4b48wBfffYwek9Az9pkM","job_id":"H5daSm8e85Dmvmne3wLeCPhX","candidate_id":"26vafvWSRmbhNcxJYqjCzuJg","screening_question_answers":[],"custom_fields":{},"integration_fields":[],"remote_url":"https://example.com/applications/32","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_created_at":"2022-04-02T00:00:00.000Z","remote_updated_at":"2022-04-04T00:00:00.000Z","remote_data":null,"current_stage":{"id":"5J7L4b48wBfffYwek9Az9pkM","name":"Interview","remote_id":"5","index":2},"job":{"id":"H5daSm8e85Dmvmne3wLeCPhX","name":"Head of Integrations","remote_id":"1"},"candidate":{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","first_name":"John","last_name":"Doe","company":"Acme, Inc.","title":"Head of Marketing","confidential":false,"source":"Employee Referral","phone_numbers":[{"phone_number":"+1-541-754-3010","type":"HOME"}],"email_addresses":[{"email_address":"john.doe@example.com","type":"PRIVATE"}],"social_media":[{"link":"https://www.youtube.com/watch?v=dQw4w9WgXcQ","type":"YOUTUBE","username":null}],"location":{"city":"Berlin","country":"DE","raw":"Berlin, Germany","state":"Berlin","street_1":"Lohmühlenstraße 65","street_2":null,"zip_code":"12435"},"custom_fields":{},"integration_fields":[],"remote_url":"https://example.com/candidates/32","remote_created_at":"2022-04-02T00:00:00.000Z","remote_updated_at":"2022-04-04T00:00:00.000Z","remote_data":null,"changed_at":"2022-04-04T00:00:00.000Z","remote_deleted_at":null,"tags":[{"id":"7DHDky9zk4qnWkycuuQjFXNh","name":"Fast Learner","remote_id":"1"}]}}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseAiApply"}}}},"/connect/create-link":{"post":{"operationId":"PostConnectCreateLink","summary":"Create connection link","description":"Generate a unique link that allows your user to enter the embedded Kombo Connect flow.\n\n> Check out [our full guide](/connect/embedded-flow) for more details about implementing the connection flow into your app.\n\n> Kombo will not deduplicate integrations for you that are created with this endpoint. You are responsible for keeping track of integrations in your system and prevent customers from connecting the same tool again. Use the [reconnection link](/v1/post-integrations-integration-id-relink) endpoint if you want a customer to update their credentials.\n\n### Example Request Body\n\n```json\n{\n \"end_user_email\": \"test@example.com\",\n \"end_user_organization_name\": \"Test Inc.\",\n \"integration_category\": \"HRIS\",\n \"integration_tool\": \"personio\",\n \"end_user_origin_id\": \"123\",\n \"language\": \"en\",\n \"link_type\": \"EMBEDDED\"\n}\n```","tags":["Kombo Connect"],"requestBody":{"description":"POST /connect/create-link Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostConnectCreateLinkRequestBody"},"examples":{"example1":{"value":{"end_user_email":"test@example.com","end_user_organization_name":"Test Inc.","integration_category":"HRIS","integration_tool":"personio","end_user_origin_id":"123","language":"en","link_type":"EMBEDDED"}}}}}},"responses":{"200":{"description":"POST /connect/create-link Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostConnectCreateLinkPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"link":"https://connect.kombo.dev/v1?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.SWYgeW91IGFyZSByZWFkaW5nIHRoaXMsIHdlIHdvdWxkIGxpa2UgdG8gbGV0IHlvdSBrbm93IHRoYXQgd2UgYXJlIGhpcmluZyBwZW9wbGUgbGlrZSB5b3UgOikuIFJlYWNoIG91dCB0byBhbGV4QGtvbWJvLmRldiB0byBnZXQgaW4gY29udGFjdCBhbmQgdGVsbCBoaW0geW91IGNvbWUgZnJvbSB0aGUgSldUIDsp._hhX5YTtHfLn9ZC806dZceRn2whzxHyrhft1ONzNgOE"}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/connect/integration-by-token/{token}":{"get":{"operationId":"GetConnectIntegrationByTokenToken","summary":"Get integration by token","description":"Use this endpoint with the token you get from the connection flow to retrieve information about the created integration.\n\n It works in a similar way as the OAuth2 code flow to securely retrieve information and connect the integration to your user.\n\n> Check out [our full guide](/connect/embedded-flow) for more details about implementing the connection flow into your app.\n\nThis endpoint is used to ensure users can't trick your system connecting their\naccount in your system to another customers integration. You don't get the integration ID\nfrom the `showKomboConnect(link)` function but only the short lived token used\nfor this endpoint so that users can't send you arbitrary data that you would put\ninto your system.","tags":["Kombo Connect"],"parameters":[{"name":"token","in":"path","required":true,"description":"GET /connect/integration-by-token/:token Parameter","schema":{"$ref":"#/components/schemas/GetConnectIntegrationByTokenTokenParameterToken"}}],"responses":{"200":{"description":"GET /connect/integration-by-token/:token Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetConnectIntegrationByTokenTokenPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"tool":"personio","id":"personio:CBNMt7dSNCzBdnRTx87dev4E","end_user_origin_id":"36123","end_user_organization_name":"Acme, Inc.","end_user_email":"user@example.com","setup_status":"COMPLETED"}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/connect/activate-integration":{"post":{"operationId":"PostConnectActivateIntegration","summary":"Activate integration (optional)","description":"Use this endpoint with the token you get from the connection flow to retrieve information about the created integration. It works in a similar way as the OAuth2 code flow to securely retrieve information and connect the integration to your user. You do not need to call this endpoint for an integration to become active.\n\nWe are deprecating this endpoint in favour of the [get integration by code endpoint](/v1/get-integration-by-token-token). To migrate you only have to change to the new API endpoint.\n\n### Example Request Body\n\n```json\n{\n \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtZXNzYWdlIjoiVGhpcyBpcyBub3QgYW4gYWN0dWFsIHRva2VuLiJ9.JulqgOZBMKceI8vh9YLpVX51efND0ZyfUNHDXLrPz_4\"\n}\n```","tags":["Kombo Connect"],"requestBody":{"description":"POST /connect/activate-integration Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostConnectActivateIntegrationRequestBody"}}}},"responses":{"200":{"description":"POST /connect/activate-integration Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostConnectActivateIntegrationPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"tool":"personio","id":"personio:CBNMt7dSNCzBdnRTx87dev4E","end_user_origin_id":"36123","end_user_organization_name":"Acme, Inc.","end_user_email":"user@example.com","setup_status":"COMPLETED"}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/custom/datev/system-information":{"get":{"operationId":"GetCustomDatevSystemInformation","summary":"Get DATEV system information","description":"This endpoint returns BeraterNr (consultant_number), MandantenNr (client_number) and the payroll system (LODAS or Lohn und Gehalt). Useful to generate a DATEV ASCII file for the passthrough endpoint.","tags":["Custom Endpoints"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"datev:HWUTwvyx2wLoSUHphiWVrp28","required":true}],"responses":{"200":{"description":"GET /custom/datev/system-information Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetCustomDatevSystemInformationPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"consultant_number":1234567,"client_number":99999,"target_system":"LODAS"}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/custom/datev/passthrough":{"post":{"operationId":"PostCustomDatevPassthrough","summary":"Write raw DATEV ASCII file","description":"This action allows to send an arbitrary ASCII file directly to DATEV LODAS or Lohn und Gehalt. Kombo adds validation for the file format but not on the content. This action allows you to implement any use case that you might have with DATEV payroll ASCII imports.","tags":["Custom Endpoints"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"datev:HWUTwvyx2wLoSUHphiWVrp28","required":true}],"requestBody":{"description":"POST /custom/datev/passthrough Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostCustomDatevPassthroughRequestBody"}}}},"responses":{"200":{"description":"POST /custom/datev/passthrough Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostCustomDatevPassthroughPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{},"warnings":[{"message":"This is an example warning!"}]}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/custom/datev/check-eau-permission":{"get":{"operationId":"GetCustomDatevCheckEauPermission","summary":"Verify service is enabled","description":"This endpoint validates that this DATEV integration is ready to use the eAU feature.","tags":["Custom Endpoints"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"datev:HWUTwvyx2wLoSUHphiWVrp28","required":true}],"responses":{"200":{"description":"GET /custom/datev/check-eau-permission Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetCustomDatevCheckEauPermissionPositiveResponse"}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/custom/datev/eau-requests/{eau_id}":{"get":{"operationId":"GetCustomDatevEauRequestsEauId","summary":"Query the status of the eAU request","description":"This endpoint queries the status of the eAU request for the given DATEV integration.","tags":["Custom Endpoints"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"datev:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"eau_id","in":"path","required":true,"description":"GET /custom/datev/eau-requests/:eau_id Parameter","schema":{"$ref":"#/components/schemas/GetCustomDatevEauRequestsEauIdParameterEauId"}}],"responses":{"200":{"description":"GET /custom/datev/eau-requests/:eau_id Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetCustomDatevEauRequestsEauIdPositiveResponse"}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/custom/datev/check-document-permission":{"get":{"operationId":"GetCustomDatevCheckDocumentPermission","summary":"Verify service is enabled","description":"This endpoint returns the available document types for this DATEV integration.","tags":["Custom Endpoints"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"datev:HWUTwvyx2wLoSUHphiWVrp28","required":true}],"responses":{"200":{"description":"GET /custom/datev/check-document-permission Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetCustomDatevCheckDocumentPermissionPositiveResponse"}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/custom/datev/available-documents":{"get":{"operationId":"GetCustomDatevAvailableDocuments","summary":"Retrieve available documents","description":"Use this endpoint to get all available documents for a specific period.","tags":["Custom Endpoints"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"datev:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"period","in":"query","required":true,"description":"Provide the period in the format YYYY-MM-DD for which to check for available documents.","schema":{"$ref":"#/components/schemas/GetCustomDatevAvailableDocumentsParameterPeriod"}}],"responses":{"200":{"description":"GET /custom/datev/available-documents Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetCustomDatevAvailableDocumentsPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"results":[{"document_type":"LOBN","available_for_employees":[{"id":"8Xi6iZrwusZqJmDGXs49GBmJ","remote_id":"123456"}],"is_company_document":false},{"document_type":"LOJO","available_for_employees":[],"is_company_document":true}]},"warnings":[{"message":"This is an example warning!"}]}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/custom/datev/download-document":{"post":{"operationId":"PostCustomDatevDownloadDocument","summary":"Download Payroll Document","description":"Download a document from DATEV\n\n\n This endpoint requires the permission **Manage documents** to be enabled in [your scope config](/scopes).\n\n\n### Example Request Body\n\n```json\n{\n \"accounting_month\": \"2001-12-01\",\n \"document_type\": \"LOJE\",\n \"employee_id\": null\n}\n```","tags":["Custom Endpoints"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"datev:HWUTwvyx2wLoSUHphiWVrp28","required":true}],"requestBody":{"description":"POST /custom/datev/download-document Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostCustomDatevDownloadDocumentRequestBody"},"examples":{"example1":{"value":{"accounting_month":"2001-12-01","document_type":"LOJE","employee_id":null}},"example2":{"value":{"accounting_month":"2001-12-01","document_type":"LSTB","employee_id":"remote:200"}}}}}},"responses":{"200":{"description":"POST /custom/datev/download-document Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostCustomDatevDownloadDocumentPositiveResponse"}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/custom/datev/employees/{employee_id}/download-document":{"post":{"operationId":"PostCustomDatevEmployeesEmployeeIdDownloadDocument","summary":"Download Payroll Document","description":"Download a document from DATEV\n\n\n This endpoint requires the permission **Manage documents** to be enabled in [your scope config](/scopes).\n\n\n### Example Request Body\n\n```json\n{\n \"accounting_month\": \"2001-12-01\",\n \"document_type\": \"LOJE\"\n}\n```","tags":["Custom Endpoints"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"datev:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"employee_id","in":"path","required":true,"description":"POST /custom/datev/employees/:employee_id/download-document Parameter","schema":{"$ref":"#/components/schemas/PostCustomDatevEmployeesEmployeeIdDownloadDocumentParameterEmployeeId"},"examples":{"example1":{"value":null},"example2":{"value":"remote:200"}}}],"requestBody":{"description":"POST /custom/datev/employees/:employee_id/download-document Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostCustomDatevEmployeesEmployeeIdDownloadDocumentRequestBody"},"examples":{"example1":{"value":{"accounting_month":"2001-12-01","document_type":"LOJE"}},"example2":{"value":{"accounting_month":"2001-12-01","document_type":"LSTB"}}}}}},"responses":{"200":{"description":"POST /custom/datev/employees/:employee_id/download-document Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostCustomDatevEmployeesEmployeeIdDownloadDocumentPositiveResponse"}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/custom/datev/employees/{employee_id}/eau-requests":{"post":{"operationId":"PostCustomDatevEmployeesEmployeeIdEauRequests","summary":"Create eAU Request","description":"Create a request for an electronic certificate of incapacity for work (eAU).\n\n\n This endpoint requires the permission **Manage eAU** to be enabled in [your scope config](/scopes).\n\n\n### Example Request Body\n\n```json\n{\n \"start_work_incapacity\": \"2022-01-01\"\n}\n```","tags":["Custom Endpoints"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"datev:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"employee_id","in":"path","required":true,"description":"ID of the employee that should be updated. You can use their Kombo `id` or their ID in the remote system by prefixing it with `remote:` (e.g., `remote:12312`)","schema":{"$ref":"#/components/schemas/PostCustomDatevEmployeesEmployeeIdEauRequestsParameterEmployeeId"},"examples":{"example1":{"value":"remote:12312"}}}],"requestBody":{"description":"POST /custom/datev/employees/:employee_id/eau-requests Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBody"},"examples":{"example1":{"value":{"start_work_incapacity":"2022-01-01"}}}}}},"responses":{"200":{"description":"POST /custom/datev/employees/:employee_id/eau-requests Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponse"}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/custom/datev/employees/{employee_id}/prepare-payroll":{"put":{"operationId":"PutCustomDatevEmployeesEmployeeIdPreparePayroll","summary":"Prepare DATEV Payroll","description":"What DATEV requires to prepare payroll is very specific and currently, as DATEV is not providing \"read\", this is not part of the unified model.\n\n\n This endpoint requires the permission **Manage payroll** to be enabled in [your scope config](/scopes).\n\n\n### Example Request Body\n\n```json\n{\n \"employee_id\": \"EvLV61zdahkN4ftPJbmPCkdv\",\n \"payroll_run\": {\n \"date\": \"2022-05-01\"\n },\n \"fixed_payments\": [\n {\n \"amount\": 560,\n \"lohnart\": 100\n }\n ],\n \"hourly_payments\": [\n {\n \"hours\": 14,\n \"lohnart\": 200\n },\n {\n \"hours\": 16,\n \"lohnart\": 232\n }\n ],\n \"custom_lodas\": [\n {\n \"amount\": 8,\n \"lohnart\": 300,\n \"bearbeitungsschluessel\": 4\n }\n ]\n}\n```","tags":["Custom Endpoints"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"datev:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"employee_id","in":"path","required":true,"description":"ID of the employee that should be updated. You can use their Kombo `id` or their ID in the remote system by prefixing it with `remote:` (e.g., `remote:12312`)","schema":{"$ref":"#/components/schemas/PutCustomDatevEmployeesEmployeeIdPreparePayrollParameterEmployeeId"},"examples":{"example1":{"value":"EvLV61zdahkN4ftPJbmPCkdv"}}}],"requestBody":{"description":"PUT /custom/datev/employees/:employee_id/prepare-payroll Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody"},"examples":{"example1":{"value":{"payroll_run":{"date":"2022-05-01"},"fixed_payments":[{"amount":560,"lohnart":100}],"hourly_payments":[{"hours":14,"lohnart":200},{"hours":16,"lohnart":232}],"custom_lodas":[{"amount":8,"lohnart":300,"bearbeitungsschluessel":4}]}}}}}},"responses":{"200":{"description":"PUT /custom/datev/employees/:employee_id/prepare-payroll Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse"}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/custom/datev/employees/{employee_id}/compensations":{"put":{"operationId":"PutCustomDatevEmployeesEmployeeIdCompensations","summary":"Set DATEV compensations","description":"Sets the compensations for an employee on the specified effective date.\n\n Other compensations will end at the effective date. That means, if you would like to add a compensation, you also have to include the compensations that you would like to keep.\n\n\n This endpoint requires the permission **Manage payroll** to be enabled in [your scope config](/scopes).\n\n\n### Example Request Body\n\n```json\n{\n \"employee_id\": \"3bdhemmSP1TPQDGWtRveRot9\",\n \"effective_date\": \"2022-12-01\",\n \"compensations\": [\n {\n \"amount\": 4500,\n \"currency\": \"EUR\",\n \"period\": \"MONTH\",\n \"lohnart\": 200\n },\n {\n \"amount\": 30,\n \"currency\": \"EUR\",\n \"period\": \"HOUR\"\n }\n ]\n}\n```","tags":["Custom Endpoints"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"datev:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"employee_id","in":"path","required":true,"description":"ID of the employee that should be updated. You can use their Kombo `id` or their ID in the remote system by prefixing it with `remote:` (e.g., `remote:12312`)","schema":{"$ref":"#/components/schemas/PutCustomDatevEmployeesEmployeeIdCompensationsParameterEmployeeId"},"examples":{"example1":{"value":"3bdhemmSP1TPQDGWtRveRot9"}}}],"requestBody":{"description":"PUT /custom/datev/employees/:employee_id/compensations Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PutCustomDatevEmployeesEmployeeIdCompensationsRequestBody"},"examples":{"example1":{"value":{"effective_date":"2022-12-01","compensations":[{"amount":4500,"currency":"EUR","period":"MONTH","lohnart":200},{"amount":30,"currency":"EUR","period":"HOUR"}]}}}}}},"responses":{"200":{"description":"PUT /custom/datev/employees/:employee_id/compensations Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PutCustomDatevEmployeesEmployeeIdCompensationsPositiveResponse"}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/custom/datev/check-write-permission":{"get":{"operationId":"GetCustomDatevCheckWritePermission","summary":"Verify service is enabled","description":"This endpoint returns whether you can write to this DATEV integration.","tags":["Custom Endpoints"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"datev:HWUTwvyx2wLoSUHphiWVrp28","required":true}],"responses":{"200":{"description":"GET /custom/datev/check-write-permission Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetCustomDatevCheckWritePermissionPositiveResponse"}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/custom/datev/data-pushes":{"get":{"operationId":"GetCustomDatevDataPushes","summary":"Get DATEV data pushes","description":"Returns all \"DATEV Data Pushes\" of the last 2 months. You can use this endpoint to give your users transparency about submitted \"ASCII-Files\" and their status. Each data push can contain multiple files that were submitted.","tags":["Custom Endpoints"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"datev:HWUTwvyx2wLoSUHphiWVrp28","required":true}],"responses":{"200":{"description":"GET /custom/datev/data-pushes Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetCustomDatevDataPushesPositiveResponse"}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/custom/datev/push-data/general":{"post":{"operationId":"PostCustomDatevPushDataGeneral","summary":"Push general data to DATEV","description":"Uploads the currently relevant general data (employees, compensations, and time offs) to DATEV. This will create so called ASCII files that the accountant has to import in DATEV. You can call this endpoint to implement an on-demand sync to DATEV, for example if you want to offer your users a button to do that in your application.","tags":["Custom Endpoints"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"datev:HWUTwvyx2wLoSUHphiWVrp28","required":true}],"requestBody":{"description":"POST /custom/datev/push-data/general Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostCustomDatevPushDataGeneralRequestBody"}}}},"responses":{"200":{"description":"POST /custom/datev/push-data/general Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostCustomDatevPushDataGeneralPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"files":[{"name":"EXTF_Stammdaten.csv","content":"EXTF;700;21;Stammdaten;..."}]},"warnings":[{"message":"This is an example warning!"}]}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/custom/datev/push-data/payroll":{"post":{"operationId":"PostCustomDatevPushDataPayroll","summary":"Push payroll data to DATEV","description":"Uploads the currently relevant payroll data (supplements) to DATEV. This will create so called ASCII files that the accountant has to import in DATEV. After finishing the payroll preparation or after correcting payroll, you can call this.","tags":["Custom Endpoints"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"datev:HWUTwvyx2wLoSUHphiWVrp28","required":true}],"requestBody":{"description":"POST /custom/datev/push-data/payroll Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostCustomDatevPushDataPayrollRequestBody"}}}},"responses":{"200":{"description":"POST /custom/datev/push-data/payroll Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostCustomDatevPushDataPayrollPositiveResponse"},"examples":{"example1":{"value":{"status":"success","data":{"files":[{"name":"EXTF_Bewegungsdaten.csv","content":"EXTF;700;21;Bewegungsdaten;..."}]},"warnings":[{"message":"This is an example warning!"}]}}}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}},"/custom/silae/employees/{employee_id}/payroll-supplements":{"post":{"operationId":"PostCustomSilaeEmployeesEmployeeIdPayrollSupplements","summary":"Write Payroll Supplement","description":"Write a payroll supplement to Silae using the supplement code.\n\n\n This endpoint requires the permission **Manage payroll** to be enabled in [your scope config](/scopes).\n\n\n### Example Request Body\n\n```json\n{\n \"employee_id\": \"EvLV61zdahkN4ftPJbmPCkdv\",\n \"supplement_code\": \"200\",\n \"effective_date\": \"2024-01-14\",\n \"element_amount\": 6\n}\n```","tags":["Custom Endpoints"],"parameters":[{"in":"header","name":"X-Integration-Id","schema":{"type":"string"},"description":"ID of the integration you want to interact with.","example":"silae:HWUTwvyx2wLoSUHphiWVrp28","required":true},{"name":"employee_id","in":"path","required":true,"description":"ID of the employee that should be updated. You can use their Kombo `id` or their ID in the remote system by prefixing it with `remote:` (e.g., `remote:12312`)","schema":{"$ref":"#/components/schemas/PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsParameterEmployeeId"},"examples":{"example1":{"value":"EvLV61zdahkN4ftPJbmPCkdv"}}}],"requestBody":{"description":"POST /custom/silae/employees/:employee_id/payroll-supplements Request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsRequestBody"},"examples":{"example1":{"value":{"supplement_code":"200","effective_date":"2024-01-14","element_amount":6}}}}}},"responses":{"200":{"description":"POST /custom/silae/employees/:employee_id/payroll-supplements Positive response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsPositiveResponse"}}}},"default":{"$ref":"#/components/responses/ErrorResponseGeneral"}}}}},"components":{"schemas":{"GetCheckApiKeyPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"environment_id":{"type":"string"},"customer_id":{"type":"string","description":"**(⚠️ Deprecated)** Renamed to `environment_id`."}},"required":["environment_id","customer_id"],"examples":[{"environment_id":"2Uev1YUTqLFdvMPD3Jtrg2FX","customer_id":"2Uev1YUTqLFdvMPD3Jtrg2FX"}]}},"required":["status","data"]},"PostForceSyncPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"already_queued":{"type":"boolean","description":"We only allow 1 concurrent sync to be running or queued."},"sync_id":{"type":"string","description":"ID of the newly-created or already-queued-or-running sync."},"type":{"type":"string","enum":["FULL","DELTA"],"description":"The type of the triggered sync. May differ from request, if the integration does not support delta syncs or if another sync is already running."}},"required":["already_queued","sync_id","type"],"examples":[{"already_queued":false,"sync_id":"119ihtp91nA3dqRFiV67nXS6","type":"DELTA"}]}},"required":["status","data"]},"PostForceSyncRequestBody":{"type":"object","properties":{"type":{"type":"string","enum":["FULL","DELTA"],"default":"FULL","description":"The type of the triggered sync."}}},"PostPassthroughToolApiParameterTool":{"type":"string","description":"The ID of the tool whose passthrough API you want to call (e.g., `personio`)."},"PostPassthroughToolApiParameterApi":{"type":"string","description":"The ID of the passthrough API you want to call (some tools provide multiple). Check the endpoint description for a list of all available APIs."},"PostPassthroughToolApiPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The full URL of the request that we automatically assemble for you based on the specified `api`, the specified `path`, and the integration's auth credentials. You can use this to debug path-related issues (e.g., the API returning 404 errors)."},"status":{"type":"integer","format":"int64","description":"The HTTP status code returned from the remote system."},"headers":{"type":"object","additionalProperties":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"description":"The HTTP headers returned from the remote system."},"data":{"description":"The HTTP body returned from the remote system. This will either be an array or object (in the case that JSON was returned) or a string (in any other case)."}},"required":["url","status","headers"],"examples":[{"url":"https://api.personio.de/v1/company/employees","status":200,"headers":{"content-type":"application/json"},"data":{"success":true,"data":[{"id":123,"first_name":"John","last_name":"Doe"}]}}]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PostPassthroughToolApiRequestBody":{"type":"object","properties":{"method":{"type":"string","enum":["GET","POST","DELETE","PUT","PATCH"],"description":"The HTTP method (e.g., `GET`) of the request."},"path":{"type":"string","pattern":"^\\/","description":"The path of the endpoint you want to call. We automatically prepend the base URL of the API (all base URLs are documented in the endpoint description)."},"headers":{"type":"object","additionalProperties":{"type":"string"},"description":"The headers to send with the request. Note that we automatically supply any authentication-related headers."},"params":{"type":"object","additionalProperties":{"type":"string"},"description":"The query parameters to send in addition to the ones in the `path`."},"data":{"description":"The data to submit as part of the request body. This can either be an array or object (in which case we will forward it as JSON) or a string (in which case we will forward it raw)."},"response_as_base64":{"type":"boolean","description":"If set to `true`, the response will be returned as a base64-encoded string. This is useful for binary data (e.g., PDFs)."},"multipart_form_data":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The key of the form data"},"value":{"oneOf":[{"type":"string","description":"The value of the form data (Can be an object if the field is of the type file)"},{"type":"object","properties":{"name":{"type":"string","description":"File name of the file you want to upload. We recommend providing something human-readable with a valid file extension (like `Resume.pdf`), as this might be shown in your customer's system."},"content_type":{"type":"string","pattern":"^[\\w.-]+\\/[\\w.-]+$","description":"Content/MIME type of the file (e.g., `application/pdf`).\n\nIf you provide `data`, this is required. If you provide `data_url`, this is optional and we'll attempt to use the `Content-Type` header of the response.\n\n**Note:** Please validate that the content type you provide is actually meaningful (and not something generic like [`application/octet-stream`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/MIME_types#applicationoctet-stream)). Especially when using object storage (like AWS S3), it's easy to accidentally discard the content types of user-provided files, so make sure to explicitly persist them when processing uploads from your users (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html#SysMetadata), [Google Cloud](https://cloud.google.com/storage/docs/metadata#content-type), and [Azure](https://learn.microsoft.com/en-us/rest/api/storageservices/put-blob#request-headers-all-blob-types))."},"data_url":{"type":"string","format":"uri","description":"URL to the file you want to upload that can be accessed without authentication headers. We will download the content immediately when receiving the request, so the URL can be short-lived.\n\nIf you're using an object storage provider (like AWS S3), we strongly recommend providing a signed URL for secure access (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html), [Google Cloud](https://cloud.google.com/storage/docs/access-control/signed-urls), and [Azure](https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview)).\n\n**Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases."},"data":{"type":"string","description":"Base64-encoded contents of the file you want to upload.\n\n**Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases."}},"required":["name"]}]}},"required":["name","value"],"description":"The data to submit as part of the request body if the request's `Content-Type` is `multipart/form-data`."}},"api_options":{"type":"object","additionalProperties":{"type":"string"},"description":"Custom options interpreted by the passthrough API adapter you've selected. These options are not documented right now as they're only for very advanced use cases."}},"required":["method","path"]},"DeleteIntegrationsIntegrationIdParameterIntegrationId":{"type":"string"},"DeleteIntegrationsIntegrationIdPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object"}},"required":["status","data"]},"DeleteIntegrationsIntegrationIdRequestBody":{"type":"object","properties":{}},"GetIntegrationsIntegrationIdParameterIntegrationId":{"type":"string"},"GetIntegrationsIntegrationIdPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":"string"},"tool":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the connected tool in Kombo (e.g. `factorial`)."},"label":{"type":"string"},"internal_label":{"type":["string","null"],"description":"Internal label that can help you debug specific variants of the integration. Only show the `label` to your users."},"logo_url":{"type":"string","format":"uri","description":"URL to an SVG logo of the connected tool. The logo usually contains the tool name."},"icon_url":{"type":"string","format":"uri","description":"URL to a square SVG icon of the connected tool."}},"required":["id","label","internal_label","logo_url","icon_url"]},"category":{"type":"string","enum":["HRIS","ATS","ASSESSMENT"]},"status":{"type":"string","enum":["ACTIVE","INVALID","INACTIVE"],"description":"The current status of the integration.\n\n- `ACTIVE`: The integration is syncing data as expected.\n- `INVALID`: The integration has stopped syncing data because of invalid credentials. To fix this, reach out to your customer to [reconnect the integration](../guides/integration-states#credentials-invalid).\n- `INACTIVE`: The integration has stopped syncing as it's been manually set to inactive. You can [enable it again](../guides/integration-states#inactive) in the integration's page."},"setup_status":{"type":"string","enum":["INCOMPLETE","FINAL_SYNC_PENDING","COMPLETED"],"description":"The setup_status is used in conjunction with the filtering and field mapping features. If these are enabled in the connection flow, the integration will start in an \"INCOMPLETE\" state and move to \"COMPLETE\" once all steps are finished.\n\n- `INCOMPLETE`: Setup is still in progress. Some steps aren’t finished, so no data is available yet. Syncs only run as needed for setup.\n- `FINAL_SYNC_PENDING`: Setup is complete, and the final sync is running. Data will be available after this sync is done.\n- `COMPLETED`: Setup is fully finished, and the integration is ready to use."},"end_user":{"type":"object","properties":{"organization_name":{"type":"string"},"creator_email":{"type":["string","null"],"pattern":"^(?!\\.)(?!.*\\.\\.)([\\w'+-.]*)[\\w+-]@([\\da-z][\\da-z-]*\\.)+[a-z]{2,}$"},"origin_id":{"type":["string","null"],"description":"The ID you have passed initially to the connection flow to create this integration."}},"required":["organization_name","creator_email","origin_id"]},"scope_config":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":["string","null"]}},"required":["id","name"]},"created_at":{"description":"YYYY-MM-DDTHH:mm:ss.sssZ","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"beta":{"type":"boolean"},"read_models":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"ID of the model (e.g. hris_employees)."},"label":{"type":"string","description":"Label of the model (e.g. Employees)."},"is_available":{"type":"boolean","description":"Whether the datapoint is available and enabled and not opted out of."},"coverage_status":{"type":"string","enum":["SUPPORTED","UNSUPPORTED","NOT_IMPLEMENTED","UNKNOWN"],"description":"The status of a datapoint of an integrated tool:\n\n- `SUPPORTED`: the tool supports the datapoint and it can be used through Kombo.\n- `UNSUPPORTED`: the tool does not support the datapoint.\n- `NOT_IMPLEMENTED`: tool supports the datapoint but it was not integrated by Kombo for a given reason (see coverage grid).\n- `UNKNOWN`: the datapoint is not integrated yet and Kombo has no information about it's availability in the tool."},"scope_config_setting":{"type":"string","enum":["ENABLED","DISABLED","OPTIONAL"],"description":"The setting of the datapoint in the scope config that you configured in the Kombo dashboard."},"opted_out_by_customer":{"type":"boolean","description":"Whether the datapoint is opted out by your customer in the connection flow."},"fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Key of the field in the API (e.g. first_name)."},"is_available":{"type":"boolean","description":"Whether the datapoint is available and enabled and not opted out of."},"coverage_status":{"type":"string","enum":["SUPPORTED","UNSUPPORTED","NOT_IMPLEMENTED","UNKNOWN"],"description":"The status of a datapoint of an integrated tool:\n\n- `SUPPORTED`: the tool supports the datapoint and it can be used through Kombo.\n- `UNSUPPORTED`: the tool does not support the datapoint.\n- `NOT_IMPLEMENTED`: tool supports the datapoint but it was not integrated by Kombo for a given reason (see coverage grid).\n- `UNKNOWN`: the datapoint is not integrated yet and Kombo has no information about it's availability in the tool."},"scope_config_setting":{"type":"string","enum":["ENABLED","DISABLED","OPTIONAL"],"description":"The setting of the datapoint in the scope config that you configured in the Kombo dashboard."},"opted_out_by_customer":{"type":"boolean","description":"Whether the datapoint is opted out by your customer in the connection flow."}},"required":["id","is_available","coverage_status","scope_config_setting","opted_out_by_customer"]}}},"required":["id","label","is_available","coverage_status","scope_config_setting","opted_out_by_customer","fields"]}}},"required":["id","tool","category","status","setup_status","end_user","scope_config","created_at","beta","read_models"],"examples":[{"id":"factorial:8d1hpPsbjxUkoCoa1veLZGe5","tool":{"id":"factorial","label":"Factorial","internal_label":null,"logo_url":"https://storage.googleapis.com/kombo-assets/integrations/factorial/logo.svg","icon_url":"https://storage.googleapis.com/kombo-assets/integrations/factorial/icon.svg"},"category":"HRIS","status":"ACTIVE","setup_status":"COMPLETED","end_user":{"organization_name":"Acme","creator_email":"example-integration-creator@acme.com","origin_id":"2DQJAUtSzzzKP9buDTvUvPk3"},"scope_config":{"id":"B1hu5NGyhdjSq5X3hxEz4bAN","name":"Anonymous Scopes"},"created_at":"2022-08-07T14:01:29.196Z","beta":false,"read_models":[{"id":"hris_employees","label":"Employees","is_available":true,"coverage_status":"SUPPORTED","scope_config_setting":"ENABLED","opted_out_by_customer":false,"fields":[{"id":"date_of_birth","is_available":false,"coverage_status":"SUPPORTED","scope_config_setting":"OPTIONAL","opted_out_by_customer":true}]}]}]}},"required":["status","data"]},"PostIntegrationsIntegrationIdRelinkParameterIntegrationId":{"type":"string"},"PostIntegrationsIntegrationIdRelinkPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"link":{"type":"string","format":"uri"}},"required":["link"]}},"required":["status","data"]},"PostIntegrationsIntegrationIdRelinkRequestBody":{"type":"object","properties":{"language":{"type":["string","null"],"enum":["en","de","fr","it","es"],"default":"en","description":"Language of the connection flow UI."},"scope_config_id":{"type":["string","null"],"description":"Specify a scope config which the integration will start using once the reconnection flow has been completed.\n\nThis can be useful if you want to update the permissions of an integration, but only want the change to take effect once the user has updated their API credentials to prevent sync issues."},"link_type":{"type":"string","enum":["EMBEDDED","MAGIC_LINK"],"default":"EMBEDDED","description":"The type of link you want to create. `EMBEDDED` is for the [embedded flow](../guides/connect/embedded-flow) using the Kombo Connect SDK (these links are valid for 1 hour) and `MAGIC_LINK` is for [magic links](../guides/connect/magic-links) which you send out manually to customers (there are valid for 1 year).\n\nThis defaults to `EMBEDDED`, which is our recommended method of implementing the connection flow for a seamless user experience."}}},"GetIntegrationsIntegrationIdIntegrationFieldsParameterIntegrationId":{"type":"string"},"GetIntegrationsIntegrationIdIntegrationFieldsParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetIntegrationsIntegrationIdIntegrationFieldsParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":2000,"default":100,"description":"The number of results to return per page. Maximum is 2000."},"GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The unique ID of the field."},"key":{"type":"string","description":"The key of the field in the remote system."},"model":{"type":"string","description":"The model the field is associated with."},"type":{"type":"string","enum":["DEFAULT","CUSTOM"],"description":"The type of the integration field. There is a type to avoid collisions between DEFAULT fields and CUSTOM fields with the same key."},"label":{"type":["string","null"],"description":"The label of the field in the remote system."},"is_passthrough_enabled":{"type":"boolean","description":"Whether the field is included in the integrations_fields array of the corresponding model."},"is_writable":{"type":"boolean","const":false,"description":"This field is related to a deprecated feature and means nothing, but is kept for backwards compatibility."}},"required":["id","key","model","type","label","is_passthrough_enabled","is_writable"],"examples":[{"id":"9suhxJU83Kon4kPTS47837uE","key":"tax_id","model":"hris_employees","type":"DEFAULT","label":"Tax ID","is_passthrough_enabled":true,"is_writable":false}]}},"next_cursor":{"type":["string","null"],"description":"**(⚠️ Deprecated - Use `next` instead.)** Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."}},"required":["results","next_cursor","next"],"examples":[{"results":[{"id":"FFpTK47GhXnU6QAopPq2bdos","key":"tax_id","model":"hris_employees","type":"DEFAULT","label":"Tax ID","is_passthrough_enabled":true,"is_writable":false}],"next_cursor":null,"next":null}]}},"required":["status","data"]},"PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdParameterIntegrationId":{"type":"string"},"PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdParameterIntegrationFieldId":{"type":"string"},"PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The unique ID of the field."},"key":{"type":"string","description":"The key of the field in the remote system."},"model":{"type":"string","description":"The model the field is associated with."},"type":{"type":"string","enum":["DEFAULT","CUSTOM"],"description":"The type of the integration field. There is a type to avoid collisions between DEFAULT fields and CUSTOM fields with the same key."},"label":{"type":["string","null"],"description":"The label of the field in the remote system."},"is_passthrough_enabled":{"type":"boolean","description":"Whether the field is included in the integrations_fields array of the corresponding model."},"is_writable":{"type":"boolean","const":false,"description":"This field is related to a deprecated feature and means nothing, but is kept for backwards compatibility."}},"required":["id","key","model","type","label","is_passthrough_enabled","is_writable"],"examples":[{"id":"9suhxJU83Kon4kPTS47837uE","key":"tax_id","model":"hris_employees","type":"DEFAULT","label":"Tax ID","is_passthrough_enabled":true,"is_writable":false}]}},"required":["status","data"]},"PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody":{"type":"object","properties":{"enable_passthrough":{"type":["boolean","null"]}},"required":["enable_passthrough"]},"GetIntegrationsIntegrationIdCustomFieldsParameterIntegrationId":{"type":"string"},"GetIntegrationsIntegrationIdCustomFieldsParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetIntegrationsIntegrationIdCustomFieldsParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetIntegrationsIntegrationIdCustomFieldsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The unique ID of the field"},"key":{"type":"string","description":"The key of the custom field as it will be used in the custom_field object of the corresponding model"},"integration_field":{"type":["object","null"],"properties":{"id":{"type":"string","description":"The integration field's unique ID"},"key":{"type":"string","description":"The key of the integration field in the remote system"},"type":{"type":"string","enum":["DEFAULT","CUSTOM"],"description":"The type of the integration field. There is a type to avoid collisions between DEFAULT fields and CUSTOM fields with the same key."},"label":{"type":["string","null"],"description":"The label of the integration field in the remote system"}},"required":["id","key","type","label"],"description":"The integration field the custom field is mapped to. Null if not mapped."},"model":{"type":"string","description":"The model the field is associated with"},"label":{"type":["string","null"],"description":"The label of the custom field"},"description":{"type":["string","null"],"description":"The description of the custom field"}},"required":["id","key","integration_field","model","label","description"],"examples":[{"id":"EU3Bwa4iDfGspEELW71WDvvu","key":"tshirt_size","integration_field":{"id":"3n6geaAmKL5tFonXVAtsMDmr","key":"custom.tshirt_size","type":"CUSTOM","label":"T-Shirt Size"},"model":"hris_employees","label":"T-Shirt Size","description":"Map this to the employee's tshirt size"}]}},"next_cursor":{"type":["string","null"],"description":"**(⚠️ Deprecated - Use `next` instead.)** Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."}},"required":["results","next_cursor","next"],"examples":[{"results":[{"id":"D9CoSqqun6ix7uKEwb2kHBU1","key":"unified_tax_id","integration_field":{"id":"FFpTK47GhXnU6QAopPq2bdos","key":"tax_id","type":"DEFAULT","label":"The employee's tax ID"},"model":"hris_employees","label":null,"description":null}],"next_cursor":null,"next":null}]}},"required":["status","data"]},"PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdParameterIntegrationId":{"type":"string","description":"The unique ID of the integration where the custom field mapping should be updated"},"PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdParameterCustomFieldId":{"type":"string","description":"The unique ID of the custom field that should be updated"},"PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The unique ID of the field"},"key":{"type":"string","description":"The key of the custom field as it will be used in the custom_field object of the corresponding model"},"integration_field":{"type":["object","null"],"properties":{"id":{"type":"string","description":"The integration field's unique ID"},"key":{"type":"string","description":"The key of the integration field in the remote system"},"type":{"type":"string","enum":["DEFAULT","CUSTOM"],"description":"The type of the integration field. There is a type to avoid collisions between DEFAULT fields and CUSTOM fields with the same key."},"label":{"type":["string","null"],"description":"The label of the integration field in the remote system"}},"required":["id","key","type","label"],"description":"The integration field the custom field is mapped to. Null if not mapped."},"model":{"type":"string","description":"The model the field is associated with"},"label":{"type":["string","null"],"description":"The label of the custom field"},"description":{"type":["string","null"],"description":"The description of the custom field"}},"required":["id","key","integration_field","model","label","description"],"examples":[{"id":"EU3Bwa4iDfGspEELW71WDvvu","key":"tshirt_size","integration_field":{"id":"3n6geaAmKL5tFonXVAtsMDmr","key":"custom.tshirt_size","type":"CUSTOM","label":"T-Shirt Size"},"model":"hris_employees","label":"T-Shirt Size","description":"Map this to the employee's tshirt size"}]}},"required":["status","data"]},"PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody":{"type":"object","properties":{"integration_field_id":{"type":["string","null"],"description":"The integration field's unique ID which the custom field should be mapped to. Null to remove a mapping."}},"required":["integration_field_id"]},"GetToolsCategoryParameterCategory":{"type":"string","enum":["hris","ats","assessment"]},"GetToolsCategoryPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"tools":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"internal_label":{"type":["string","null"],"description":"Internal label that can help you debug specific variants of the integration. Only show the `label` to your users."},"assets":{"type":"object","properties":{"logo_url":{"type":"string"},"icon_url":{"type":"string"},"icon_black_url":{"type":"string"}},"required":["logo_url","icon_url","icon_black_url"]},"paid_api_details_markdown":{"type":["string","null"],"description":"Markdown formatted text that describes details about the paid API. `null` if the tool is not paid."},"fast_track_details_markdown":{"type":["string","null"],"description":"Markdown formatted text that describes details about the fast track process. `null` if the fast track process is not available."},"partner_only_details_markdown":{"type":["string","null"],"description":"Markdown formatted text that describes partnership requirements. `null` if the tool does not require a partnership."},"connection_guide_url":{"type":["string","null"],"description":"URL to the connection guide for this tool. `null` if no connection guide is available."},"coverage":{"type":"object","properties":{"read_models":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"ID of the model (e.g. hris_employees)."},"label":{"type":"string","description":"Label of the model (e.g. Employees)."},"coverage_status":{"type":"string","enum":["SUPPORTED","UNSUPPORTED","NOT_IMPLEMENTED","UNKNOWN"],"description":"The status of a datapoint of an integrated tool:\n\n- `SUPPORTED`: the tool supports the datapoint and it can be used through Kombo.\n- `UNSUPPORTED`: the tool does not support the datapoint.\n- `NOT_IMPLEMENTED`: tool supports the datapoint but it was not integrated by Kombo for a given reason (see coverage grid).\n- `UNKNOWN`: the datapoint is not integrated yet and Kombo has no information about it's availability in the tool."},"fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Key of the field in the model (e.g. first_name)."},"coverage_status":{"type":"string","enum":["SUPPORTED","UNSUPPORTED","NOT_IMPLEMENTED","UNKNOWN"],"description":"The status of a datapoint of an integrated tool:\n\n- `SUPPORTED`: the tool supports the datapoint and it can be used through Kombo.\n- `UNSUPPORTED`: the tool does not support the datapoint.\n- `NOT_IMPLEMENTED`: tool supports the datapoint but it was not integrated by Kombo for a given reason (see coverage grid).\n- `UNKNOWN`: the datapoint is not integrated yet and Kombo has no information about it's availability in the tool."}},"required":["id","coverage_status"]}}},"required":["id","label","coverage_status","fields"],"description":"List of models we can read for this tool."}},"write_actions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"coverage_status":{"type":"string","enum":["SUPPORTED","UNSUPPORTED","NOT_IMPLEMENTED","UNKNOWN"],"description":"The status of a datapoint of an integrated tool:\n\n- `SUPPORTED`: the tool supports the datapoint and it can be used through Kombo.\n- `UNSUPPORTED`: the tool does not support the datapoint.\n- `NOT_IMPLEMENTED`: tool supports the datapoint but it was not integrated by Kombo for a given reason (see coverage grid).\n- `UNKNOWN`: the datapoint is not integrated yet and Kombo has no information about it's availability in the tool."}},"required":["id","label","coverage_status"],"description":"List of supported write actions for this tool."}},"features":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"coverage_status":{"type":"string","enum":["SUPPORTED","UNSUPPORTED","NOT_IMPLEMENTED","UNKNOWN"],"description":"The status of a datapoint of an integrated tool:\n\n- `SUPPORTED`: the tool supports the datapoint and it can be used through Kombo.\n- `UNSUPPORTED`: the tool does not support the datapoint.\n- `NOT_IMPLEMENTED`: tool supports the datapoint but it was not integrated by Kombo for a given reason (see coverage grid).\n- `UNKNOWN`: the datapoint is not integrated yet and Kombo has no information about it's availability in the tool."}},"required":["id","label","coverage_status"]}}},"required":["read_models","write_actions","features"],"description":"This describes the supported models and actions of this tool."}},"required":["id","label","internal_label","assets","paid_api_details_markdown","fast_track_details_markdown","partner_only_details_markdown","connection_guide_url","coverage"]}}},"required":["tools"],"examples":[{"tools":[{"id":"factorial","label":"Factorial","internal_label":null,"assets":{"logo_url":"https://storage.googleapis.com/kombo-assets/integrations/factorial/logo.svg","icon_url":"https://storage.googleapis.com/kombo-assets/integrations/factorial/icon.svg","icon_black_url":"https://storage.googleapis.com/kombo-assets/integrations/factorial/icon-black.svg"},"paid_api_details_markdown":null,"fast_track_details_markdown":null,"partner_only_details_markdown":null,"connection_guide_url":"https://help.kombo.dev/hc/en-us/articles/18743884123409-Factorial-HR-How-do-I-link-my-account","coverage":{"read_models":[{"id":"hris_employees","label":"Employees","coverage_status":"SUPPORTED","fields":[{"id":"date_of_birth","coverage_status":"SUPPORTED"}]},{"id":"hris_teams","label":"Groups","coverage_status":"UNSUPPORTED","fields":[{"id":"parent_id","coverage_status":"UNSUPPORTED"}]}],"write_actions":[{"id":"hris_create_employee","label":"Create employee","coverage_status":"SUPPORTED"}],"features":[{"id":"automatic_source_writing","label":"Automatic Source Writing","coverage_status":"SUPPORTED"}]}}]}]}},"required":["status","data"]},"PostHrisProvisioningGroupsGroupIdDiffParameterGroupId":{"type":"string","description":"ID of the provisioning group (currently only `default` is allowed)."},"PostHrisProvisioningGroupsGroupIdDiffPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"users":{"type":"object","properties":{"to_provision":{"type":"array","items":{"type":"object","properties":{"email":{"type":["string","null"],"pattern":"^(?!\\.)(?!.*\\.\\.)([\\w'+-.]*)[\\w+-]@([\\da-z][\\da-z-]*\\.)+[a-z]{2,}$","description":"The email address of the user."},"employee":{"type":"object","properties":{"id":{"type":"string"},"remote_id":{"type":["string","null"]},"first_name":{"type":["string","null"]},"last_name":{"type":["string","null"]},"groups":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"remote_id":{"type":["string","null"]},"name":{"type":["string","null"]}},"required":["id","remote_id","name"]}},"avatar":{"type":["string","null"]},"work_location_id":{"type":["string","null"]},"legal_entity_id":{"type":["string","null"]}},"description":"The field of the underlying employee (which ones are included depends on the `employee_fields` array you supplied)."}},"required":["email","employee"]},"description":"The users we've found in the HR systems who match the provisioning filters but haven't been provisioned in your system yet."},"to_deprovision":{"type":"array","items":{"type":"object","properties":{"origin_id":{"type":"string","description":"_Your_ ID for this user (that you submitted through `origin_id`)."},"email":{"type":"string","description":"The email address of the user.","format":"email"}},"required":["origin_id","email"]},"description":"The users who've been provisioned in your system but couldn't be found in the HR system or don't match the provisioning filters."},"already_provisioned":{"type":"array","items":{"type":"object","properties":{"origin_id":{"type":"string","description":"_Your_ ID for this user (that you submitted through `origin_id`)."},"email":{"type":"string","description":"The email address of the user.","format":"email"},"employee":{"type":"object","properties":{"id":{"type":"string"},"remote_id":{"type":["string","null"]},"first_name":{"type":["string","null"]},"last_name":{"type":["string","null"]},"groups":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"remote_id":{"type":["string","null"]},"name":{"type":["string","null"]}},"required":["id","remote_id","name"]}},"avatar":{"type":["string","null"]},"work_location_id":{"type":["string","null"]},"legal_entity_id":{"type":["string","null"]}},"description":"The field of the underlying employee (which ones are included depends on the `employee_fields` array you supplied)."}},"required":["origin_id","email","employee"]},"description":"The users who are in the HR system and match the provisioning filters but have already been provisioned in your system."}},"required":["to_provision","to_deprovision","already_provisioned"]}},"required":["users"],"description":"The users to provision, deprovision, and optionally update."}},"required":["status","data"]},"PostHrisProvisioningGroupsGroupIdDiffRequestBody":{"type":"object","properties":{"provisioned_users":{"type":"array","items":{"type":"object","properties":{"origin_id":{"type":"string","description":"_Your_ ID for this user (_not_ an ID retrieved from Kombo)."},"email":{"type":"string","description":"This user's email address.","format":"email"}},"required":["origin_id","email"]},"description":"Array of the already provisioned users in your system."},"options":{"type":"object","properties":{"employee_fields":{"type":"array","items":{"type":"string","enum":["id","remote_id","first_name","last_name","groups","avatar","work_location_id","legal_entity_id"]},"description":"The employee fields relevant for your use case."}},"required":["employee_fields"],"description":"Options to customize what we return."}},"required":["provisioned_users","options"]},"PostHrisProvisioningGroupsGroupIdSetupLinksParameterGroupId":{"type":"string","description":"ID of the provisioning group (currently only `default` is allowed)."},"PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The setup link URL to pass to the Kombo Connect SDK."},"expires_at":{"description":"When this link expires.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}}},"required":["url","expires_at"],"examples":[{"url":"https://connect.kombo.dev/v1/setup?token=GinuMJCpUQ9xdpLmD2ocw8qdiK3qiPCizDCv754EXri2vAX4","expires_at":"2023-10-11T12:00:00.000Z"}]}},"required":["status","data"]},"PostHrisProvisioningGroupsGroupIdSetupLinksRequestBody":{"type":"object","properties":{"language":{"type":["string","null"],"enum":["en","de","fr","it","es"],"default":"en","description":"Language of the UI. Please note that the provisioning setup UI is _not_ translated yet but we're working on it and setting this already will make sure the translations appear once released."}}},"GetHrisEmployeesParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetHrisEmployeesParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetHrisEmployeesParameterUpdatedAfter":{"description":"Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged.\n\nIf you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden.\n\nFor more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetHrisEmployeesParameterIncludeDeleted":{"type":"string","enum":["true","false"],"default":"false","description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too."},"GetHrisEmployeesParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetHrisEmployeesParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetHrisEmployeesParameterEmploymentStatus":{"type":"string","enum":["ACTIVE","PENDING","INACTIVE","LEAVE"],"description":"**(⚠️ Deprecated - Use the `employment_statuses` filter instead.)** Filter by the `employment_status` field."},"GetHrisEmployeesParameterEmploymentStatuses":{"type":"string","description":"Filter by a comma-separated list of `ACTIVE`, `PENDING`, `INACTIVE`, `LEAVE` \n* `ACTIVE`: the employee is **actively employed** \n* `PENDING`: the employee is **not actively employed yet** (but they signed their contract or are part of an onboarding process) \n* `INACTIVE`: a full-time employee is no longer employed, or, for a contract worker when their contract runs out \n* `LEAVE`: the employee is still employed but **currently on leave** (note that not all HR systems support this status — use our absences API for detailed information) \n \n\nLeave this blank to get results matching all values."},"GetHrisEmployeesParameterGroupIds":{"type":"string","description":"Filter by a comma-separated list of group IDs. We will only return employees that are members of _any_ of the groups."},"GetHrisEmployeesParameterLegalEntityIds":{"type":"string","description":"Filter by a comma-separated list of legal entity IDs. We will only return employees that are members of _any_ of the legal entities."},"GetHrisEmployeesParameterWorkLocationIds":{"type":"string","description":"Filter by a comma-separated list of work location IDs. We will only return employees who are at _any_ of the work locations."},"GetHrisEmployeesParameterWorkEmails":{"type":"string","description":"Filter by a comma-separated list of work emails. We will only return employees who have _any_ of the work emails. The format of the emails is case-insensitive."},"GetHrisEmployeesParameterPersonalEmails":{"type":"string","description":"Filter by a comma-separated list of personal emails. We will only return employees who have _any_ of the personal emails. The format of the emails is case-insensitive."},"GetHrisEmployeesParameterCustomFields":{"type":"string","description":"A JSON string with a single key-value pair like {\"fieldKey\":\"fieldValue\"} to filter employees by a specific custom field value. Note that the value must be a string, number, boolean or null and the key must be a valid custom field key. Custom fields with a value of type array or object are not supported."},"GetHrisEmployeesPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"employee_number":{"type":["string","null"],"description":"The employee’s organization-internal employee number."},"first_name":{"type":["string","null"],"description":"The employee’s first name."},"last_name":{"type":["string","null"],"description":"The employee’s last name."},"nationality":{"type":["string","null"],"description":"The employee’s nationality."},"display_full_name":{"type":["string","null"],"description":"The employee’s full name, including any middle names. Not all HR systems provide an explicit display name, so we recommend falling back to `first_name` and `last_name`."},"job_title":{"type":["string","null"],"description":"The employee’s job title."},"work_email":{"type":["string","null"],"pattern":"^(?!\\.)(?!.*\\.\\.)([\\w'+-.]*)[\\w+-]@([\\da-z][\\da-z-]*\\.)+[a-z]{2,}$","description":"The employee’s work email address. If the email address is invalid, we will set this to `null`."},"personal_email":{"type":["string","null"],"pattern":"^(?!\\.)(?!.*\\.\\.)([\\w'+-.]*)[\\w+-]@([\\da-z][\\da-z-]*\\.)+[a-z]{2,}$","description":"The employee’s personal email address. If the email address is invalid, we will set this to `null`."},"mobile_phone_number":{"type":["string","null"],"description":"The employee’s mobile phone number."},"ssn":{"type":["string","null"],"description":"The employee’s social security number"},"tax_id":{"type":["string","null"],"description":"The employee’s tax ID."},"gender":{"anyOf":[{"type":"string","enum":["MALE","FEMALE","NON_BINARY","NOT_SPECIFIED"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The employee’s gender."},"ethnicity":{"anyOf":[{"type":"string","enum":["WHITE","ASIAN","HISPANIC_LATINO","HAWAIIAN","NATIVE_AMERICAN","BLACK_AFRICAN_AMERICAN","MULTIPLE_ETHNICITIES","DECLINE_TO_SPECIFY"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The employee’s ethnicity. In rare cases where we can’t find a clear mapping, the original string is passed through."},"marital_status":{"anyOf":[{"type":"string","enum":["SINGLE","MARRIED","DOMESTIC_PARTNERSHIP","WIDOWED","DIVORCED","SEPARATED","NOT_MARRIED"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The employee’s current marital status. In rare cases where we can’t find a clear mapping, the original string is passed through."},"employment_status":{"anyOf":[{"type":"string","enum":["ACTIVE","PENDING","INACTIVE","LEAVE"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The employee’s current employment status:\n\n- `ACTIVE`: the employee is **actively employed**\n- `PENDING`: the employee is **not actively employed yet** (but they signed their contract or are part of an onboarding process)\n- `INACTIVE`: the employee is **not actively employed** anymore\n- `LEAVE`: the employee is still employed but **currently on leave** (note that not all HR systems support this status — use our absences API for detailed information)\n\n In rare cases where we can’t find a clear mapping, the original string is passed through."},"employment_type":{"anyOf":[{"type":"string","enum":["FULL_TIME","PART_TIME","CONTRACT","INTERNSHIP","FREELANCE","WORKING_STUDENT","APPRENTICESHIP","TRAINING"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The employee’s current employment type:\n\n- `FULL_TIME`: the employee is actively employed\n- `PART_TIME`: the employee is working only part of the usual working hours\n- `CONTRACT`: the employee is working temporarily under a contract\n- `INTERNSHIP`: the employee is working as an intern\n- `FREELANCE`: the employee is working as a freelancer\n- `WORKING_STUDENT`: the employee is working as a working student\n- `APPRENTICESHIP`: the employee is working in an apprenticeship\n- `TRAINING`: the employee is working in a training program\n\n In rare cases where we can’t find a clear mapping, the original string is passed through."},"weekly_hours":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The employee’s weekly working hours."},"avatar":{"type":["string","null"],"description":"URL to the employee’s avatar. This is either the raw URL from the HR system (in cases where it can be requested without short-lived authentication) _or_ a URL to a temporarily cached version of the file hosted by Kombo. Kombo will delete the cached file after its deletion in the source system."},"work_location_id":{"type":["string","null"],"description":"The Kombo ID of the employee’s work location. The ID can be used to retrieve the work location from the `get work locations` endpoint."},"legal_entity_id":{"type":["string","null"],"description":"The Kombo ID of the employee’s legal entity. The ID can be used to retrieve the legal entity from the `get legal entities` endpoint."},"manager_id":{"type":["string","null"],"description":"The Kombo ID of the employee’s manager. The ID can be used to retrieve the manager from the `get employees` endpoint."},"home_address":{"type":["object","null"],"properties":{"city":{"type":["string","null"]},"country":{"type":["string","null"],"description":"Contains the ISO2 country code if possible. If not, it contains the original value."},"raw":{"type":["string","null"],"description":"If we have address data, this is filled with the raw address string."},"state":{"type":["string","null"]},"street_1":{"type":["string","null"],"description":"If we can parse the address data, this field contains the first part of the street information."},"street_2":{"type":["string","null"]},"zip_code":{"type":["string","null"]}},"description":"The employee’s home address."},"bank_accounts":{"type":["array","null"],"items":{"type":"object","properties":{"iban":{"type":["string","null"],"description":"The internationally unique IBAN identifying this account. If we detect a valid IBAN from the account number and this field would otherwise be empty, we will automatically populate this field."},"bic":{"type":["string","null"],"description":"The internationally unique BIC/SWIFT code identifying the bank behind this account. If we detect a valid BIC from the domestic bank routing number and this field would otherwise be empty, we will automatically populate this field."},"account_number":{"type":["string","null"],"description":"The bank-specific account number. Some companies use the account number field to put the IBAN here."},"holder_name":{"type":["string","null"],"description":"The name of the holder of this account."},"bank_name":{"type":["string","null"],"description":"The name of the bank behind this account."},"domestic_bank_routing":{"type":["object","null"],"properties":{"number":{"type":"string","description":"Bank routing number (e.g. DE Bankleitzahl, GB Sort Code, US ABA routing number, AU BSB code). This field is not formatted and therefore might contain delimiters (eg. 01-23-45)."},"type":{"type":["string","null"],"enum":["GB_SORT_CODE","DE_BANKLEITZAHL","US_ABA_ROUTING_TRANSIT_NUMBER","CA_ROUTING_NUMBER","AU_BSB_CODE","FR_RIB"],"description":"Enum of the routing type, prefixed with the iso-3166-1-alpha-2 banks origin country. If there is uncertainty about the type, it will be set to null."}},"required":["number","type"]}}},"description":"The employee’s bank accounts."},"date_of_birth":{"description":"The employee’s date of birth.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"start_date":{"description":"The date the employee started working for the organization.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"termination_date":{"description":"The date when the employment ends. Can be in the past or future.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_created_at":{"description":"The date and time the object was created in the remote system.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"custom_fields":{"type":["object","null"],"additionalProperties":true,"description":"A key-value store of fields not covered by the schema. [Read more](/custom-fields)"},"integration_fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object."},"key":{"type":"string","description":"The key of the field in the remote system."},"type":{"type":"string","enum":["DEFAULT","CUSTOM"],"description":"- `DEFAULT`: static fields in the remote system.\n- `CUSTOM`: fields that are created/editable by the user."},"value":{"type":"null","description":"The field's value."},"label":{"type":["string","null"],"description":"The label of the field. (not always available)"}},"required":["id","key","type","label"]},"description":"An array of selected passthrough integration fields. [Read more](/integration-fields)","examples":[[{"id":"5NVFhMpB9Ah6by44tzNjZLyE","key":"firstName","type":"DEFAULT","value":"Frank","label":"First Name"},{"id":"8nuajYpoRd5GnxEQaaWKUDYQ","key":"customTshirtSize","type":"CUSTOM","value":"XL","label":"T-Shirt Size"}]]},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."},"employments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"employee_id":{"type":"string","description":"The Kombo ID of the employment’s employee. The ID can be used to retrieve the employee from the `get employees` endpoint."},"job_title":{"type":["string","null"],"description":"This field can contain historic job titles. Please use the `job_title` field on the employee for the active job title of an employee."},"pay_rate":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The monetary amount paid to an employee."},"pay_period":{"anyOf":[{"type":"string","enum":["HOUR","DAY","WEEK","TWO_WEEKS","HALF_MONTH","MONTH","TWO_MONTHS","QUARTER","HALF_YEAR","YEAR"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The time interval which the `pay_rate` is describing.\n\nA `pay_rate` value of `12000` with a `pay_period` of `YEAR` would indicate that the employee receives 12000 over the course of a year. In rare cases where we can’t find a clear mapping, the original string is passed through."},"pay_frequency":{"anyOf":[{"type":"string","enum":["DAILY","WEEKLY","BIWEEKLY","MONTHLY","SEMIMONTHLY","QUARTERLY","SEMIANNUALLY","ANNUALLY","PRO_RATA"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The time interval at which the employee receives payment.\n\nA `pay_rate` of `12000`, with a `pay_period` of `YEAR`, and a `pay_frequency` of `MONTHLY` would indicate that the employee is paid 1000 every month. In rare cases where we can’t find a clear mapping, the original string is passed through."},"employment_type":{"anyOf":[{"type":"string","enum":["FULL_TIME","PART_TIME","CONTRACT","INTERNSHIP","FREELANCE","WORKING_STUDENT","APPRENTICESHIP","TRAINING"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The employee’s current employment type:\n\n- `FULL_TIME`: the employee is actively employed\n- `PART_TIME`: the employee is working only part of the usual working hours\n- `CONTRACT`: the employee is working temporarily under a contract\n- `INTERNSHIP`: the employee is working as an intern\n- `FREELANCE`: the employee is working as a freelancer\n- `WORKING_STUDENT`: the employee is working as a working student\n- `APPRENTICESHIP`: the employee is working in an apprenticeship\n- `TRAINING`: the employee is working in a training program\n\n In rare cases where we can’t find a clear mapping, the original string is passed through."},"pay_currency":{"type":["string","null"],"description":"The currency that the employee is paid in. Usually returned in [ISO 4217 currency codes](https://www.iso.org/iso-4217-currency-codes.html)."},"effective_date":{"description":"The date of when the employment started.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."},"custom_fields":{"type":["object","null"],"additionalProperties":true,"description":"A key-value store of fields not covered by the schema. [Read more](/custom-fields)"},"integration_fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object."},"key":{"type":"string","description":"The key of the field in the remote system."},"type":{"type":"string","enum":["DEFAULT","CUSTOM"],"description":"- `DEFAULT`: static fields in the remote system.\n- `CUSTOM`: fields that are created/editable by the user."},"value":{"type":"null","description":"The field's value."},"label":{"type":["string","null"],"description":"The label of the field. (not always available)"}},"required":["id","key","type","label"]},"description":"An array of selected passthrough integration fields. [Read more](/integration-fields)","examples":[[{"id":"5NVFhMpB9Ah6by44tzNjZLyE","key":"firstName","type":"DEFAULT","value":"Frank","label":"First Name"},{"id":"8nuajYpoRd5GnxEQaaWKUDYQ","key":"customTshirtSize","type":"CUSTOM","value":"XL","label":"T-Shirt Size"}]]}},"required":["id","remote_id","employee_id","job_title","pay_rate","pay_currency","effective_date","changed_at","remote_deleted_at","remote_data","custom_fields","integration_fields"],"examples":[{"id":"12vpXR7BeqYNWDShXRgsonnm","remote_id":"859","employee_id":"26vafvWSRmbhNcxJYqjCzuJg","job_title":"Social Media Marketer","pay_rate":85000,"pay_period":"YEAR","pay_frequency":"SEMIMONTHLY","employment_type":"FULL_TIME","pay_currency":"EUR","effective_date":"2021-01-30T00:00:00.000Z","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_data":null,"custom_fields":{},"integration_fields":[]}]}},"time_off_balances":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"employee_id":{"type":"string","description":"The Kombo ID of the employee to which the balance belongs to. The ID can be used to retrieve the employee from the `get employees` endpoint."},"type_id":{"type":"string"},"balance":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The amount of time available to the employee."},"balance_unit":{"type":["string","null"],"enum":["HOURS","DAYS"],"description":"The time-unit of the balance."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"used":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The amount of time used by the employee."},"used_unit":{"type":["string","null"],"enum":["HOURS","DAYS"],"description":"The time-unit of the used time."},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."}},"required":["id","remote_id","employee_id","type_id","balance","balance_unit","changed_at","remote_deleted_at","used","used_unit","remote_data"],"examples":[{"id":"FuyRuk5NqP3qTcThED3ymTuE","remote_id":"124123","employee_id":"2Up4ZCvq1bFVzmzXG6EWzV3j","type_id":"BQJaBxRCiqN46G27VTegvkEr","balance":14,"balance_unit":"DAYS","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"used":3,"used_unit":"DAYS","remote_data":null}]}},"manager":{"type":["object","null"],"properties":{"first_name":{"type":["string","null"],"description":"The employee’s first name."},"last_name":{"type":["string","null"],"description":"The employee’s last name."},"display_full_name":{"type":["string","null"],"description":"The employee’s full name, including any middle names. Not all HR systems provide an explicit display name, so we recommend falling back to `first_name` and `last_name`."},"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"employee_number":{"type":["string","null"],"description":"The employee’s organization-internal employee number."},"work_email":{"type":["string","null"],"pattern":"^(?!\\.)(?!.*\\.\\.)([\\w'+-.]*)[\\w+-]@([\\da-z][\\da-z-]*\\.)+[a-z]{2,}$","description":"The employee’s work email address. If the email address is invalid, we will set this to `null`."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"employment_status":{"anyOf":[{"type":"string","enum":["ACTIVE","PENDING","INACTIVE","LEAVE"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The employee’s current employment status:\n\n- `ACTIVE`: the employee is **actively employed**\n- `PENDING`: the employee is **not actively employed yet** (but they signed their contract or are part of an onboarding process)\n- `INACTIVE`: the employee is **not actively employed** anymore\n- `LEAVE`: the employee is still employed but **currently on leave** (note that not all HR systems support this status — use our absences API for detailed information)\n\n In rare cases where we can’t find a clear mapping, the original string is passed through."},"termination_date":{"description":"The date when the employment ends. Can be in the past or future.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}}},"required":["first_name","last_name","display_full_name","id","employee_number","remote_id","termination_date"],"examples":[{"first_name":"John","last_name":"Doe","display_full_name":"John Doe","id":"26vafvWSRmbhNcxJYqjCzuJg","employee_number":"3243422","work_email":"john.doe@acme.com","remote_id":"32","employment_status":"INACTIVE","termination_date":"2022-05-20T00:00:00.000Z"}]},"groups":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":["string","null"],"description":"The name of the group."},"type":{"type":["string","null"],"enum":["DEPARTMENT","TEAM","COST_CENTER"],"description":"Type of the group."}},"required":["id","remote_id","name","type"],"examples":[{"id":"4B9bKBpX5tnwjiG93TAqF7ci","remote_id":"49","name":"Customer Success","type":"TEAM"}]}},"legal_entity":{"type":["object","null"],"properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":["string","null"],"description":"The legal entity’s name."},"address":{"type":["object","null"],"properties":{"city":{"type":["string","null"]},"country":{"type":["string","null"],"description":"Contains the ISO2 country code if possible. If not, it contains the original value."},"raw":{"type":["string","null"],"description":"If we have address data, this is filled with the raw address string."},"state":{"type":["string","null"]},"street_1":{"type":["string","null"],"description":"If we can parse the address data, this field contains the first part of the street information."},"street_2":{"type":["string","null"]},"zip_code":{"type":["string","null"]}},"description":"The legal entity’s address."}},"required":["id","remote_id","name"],"examples":[{"id":"4B9bKBpX5tnwjiG93TAqF7ci","remote_id":"49","name":"ACME Inc.","address":{"city":"Berlin","country":"DE","raw":"Sonnenallee 63\n12045 Berlin, Berlin\nGermany","state":"Berlin","street_1":"Sonnenallee 63","street_2":null,"zip_code":"12045"}}]},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":["string","null"],"description":"The name of the group."},"type":{"type":["string","null"],"enum":["DEPARTMENT","TEAM","COST_CENTER"],"description":"Type of the group."}},"required":["id","remote_id","name","type"],"examples":[{"id":"4B9bKBpX5tnwjiG93TAqF7ci","remote_id":"49","name":"Customer Success","type":"TEAM"}]},"description":"**(⚠️ Deprecated - Please use `groups` instead. It includes the same data and the naming is less confusing.)** Maintained field for backwards compatibility."},"work_location":{"type":["object","null"],"properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":["string","null"],"description":"The work location’s name"},"address":{"type":["object","null"],"properties":{"city":{"type":["string","null"]},"country":{"type":["string","null"],"description":"Contains the ISO2 country code if possible. If not, it contains the original value."},"raw":{"type":["string","null"],"description":"If we have address data, this is filled with the raw address string."},"state":{"type":["string","null"]},"street_1":{"type":["string","null"],"description":"If we can parse the address data, this field contains the first part of the street information."},"street_2":{"type":["string","null"]},"zip_code":{"type":["string","null"]}},"description":"The work location’s address"},"type":{"type":["string","null"],"description":"The work location’s type. A freeform string."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."}},"required":["id","remote_id","name","type","changed_at","remote_deleted_at","remote_data"],"examples":[{"id":"22st2Ji8XpncEYEak8mvQgQF","remote_id":"1348","name":"Kombo HQ","address":{"city":"Berlin","country":"DE","raw":"Sonnenallee 63\n12045 Berlin, Berlin\nGermany","state":"Berlin","street_1":"Sonnenallee 63","street_2":null,"zip_code":"12045"},"type":"OFFICE","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":"2022-08-07T14:01:29.196Z","remote_data":null}]}},"required":["id","remote_id","employee_number","first_name","last_name","nationality","display_full_name","job_title","mobile_phone_number","ssn","tax_id","weekly_hours","avatar","work_location_id","legal_entity_id","manager_id","date_of_birth","start_date","termination_date","remote_created_at","changed_at","remote_deleted_at","custom_fields","integration_fields","remote_data","employments","time_off_balances","manager","groups","legal_entity","teams","work_location"]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","employee_number":"3243422","first_name":"John","last_name":"Doe","nationality":"French","display_full_name":"John Doe","job_title":"Integrations Team Lead","work_email":"john.doe@acme.com","personal_email":"john@doe.me","mobile_phone_number":"801-555-4687","ssn":"555-32-6395","tax_id":"12 345 678 901","gender":"MALE","ethnicity":"BLACK_AFRICAN_AMERICAN","marital_status":"MARRIED","employment_status":"INACTIVE","employment_type":"FULL_TIME","weekly_hours":40,"avatar":"https://resources.bamboohr.com/images/photo_person_150x150.png","work_location_id":"7E2gyuv6TmvtByzBxW9Sxt53","legal_entity_id":"xB32bied320csBSsl3XWdlw33","manager_id":"9pf2pxBB8VX8EQMC9aipW2Bo","home_address":{"city":"Berlin","country":"DE","raw":"Sonnenallee 63\n12045 Berlin\nGermany","state":"Berlin","street_1":"Sonnenallee 63","street_2":null,"zip_code":"12045"},"bank_accounts":[{"account_number":"1234567890","bank_name":"Commerzbank","bic":"COBADEFFXXX","domestic_bank_routing":{"number":"34567890","type":"DE_BANKLEITZAHL"},"holder_name":"John Doe","iban":"DE12345678901234567890"}],"date_of_birth":"1986-01-01T00:00:00.000Z","start_date":"2020-04-07T00:00:00.000Z","termination_date":"2022-05-20T00:00:00.000Z","remote_created_at":"2020-04-07T12:32:01.000Z","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"custom_fields":{},"integration_fields":[],"remote_data":null,"employments":[{"id":"12vpXR7BeqYNWDShXRgsonnm","remote_id":"859","employee_id":"26vafvWSRmbhNcxJYqjCzuJg","job_title":"Social Media Marketer","pay_rate":85000,"pay_period":"YEAR","pay_frequency":"SEMIMONTHLY","employment_type":"FULL_TIME","pay_currency":"EUR","effective_date":"2021-01-30T00:00:00.000Z","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_data":null,"custom_fields":{},"integration_fields":[]}],"time_off_balances":[{"id":"FuyRuk5NqP3qTcThED3ymTuE","remote_id":"124123","employee_id":"2Up4ZCvq1bFVzmzXG6EWzV3j","type_id":"BQJaBxRCiqN46G27VTegvkEr","balance":14,"balance_unit":"DAYS","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"used":3,"used_unit":"DAYS","remote_data":null}],"manager":{"first_name":"John","last_name":"Doe","display_full_name":"John Doe","id":"26vafvWSRmbhNcxJYqjCzuJg","employee_number":"3243422","work_email":"john.doe@acme.com","remote_id":"32","employment_status":"INACTIVE","termination_date":"2022-05-20T00:00:00.000Z"},"groups":[{"id":"4B9bKBpX5tnwjiG93TAqF7ci","remote_id":"49","name":"Customer Success","type":"TEAM"}],"legal_entity":{"id":"4B9bKBpX5tnwjiG93TAqF7ci","remote_id":"49","name":"ACME Inc.","address":{"city":"Berlin","country":"DE","raw":"Sonnenallee 63\n12045 Berlin, Berlin\nGermany","state":"Berlin","street_1":"Sonnenallee 63","street_2":null,"zip_code":"12045"}},"teams":[{"id":"4B9bKBpX5tnwjiG93TAqF7ci","remote_id":"49","name":"Customer Success","type":"TEAM"}],"work_location":{"id":"22st2Ji8XpncEYEak8mvQgQF","remote_id":"1348","name":"Kombo HQ","address":{"city":"Berlin","country":"DE","raw":"Sonnenallee 63\n12045 Berlin, Berlin\nGermany","state":"Berlin","street_1":"Sonnenallee 63","street_2":null,"zip_code":"12045"},"type":"OFFICE","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":"2022-08-07T14:01:29.196Z","remote_data":null}}]}]}},"required":["status","data"]},"PostHrisEmployeesPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"employee_number":{"type":["string","null"],"description":"The employee’s organization-internal employee number."},"first_name":{"type":["string","null"],"description":"The employee’s first name."},"last_name":{"type":["string","null"],"description":"The employee’s last name."},"nationality":{"type":["string","null"],"description":"The employee’s nationality."},"display_full_name":{"type":["string","null"],"description":"The employee’s full name, including any middle names. Not all HR systems provide an explicit display name, so we recommend falling back to `first_name` and `last_name`."},"job_title":{"type":["string","null"],"description":"The employee’s job title."},"work_email":{"type":["string","null"],"pattern":"^(?!\\.)(?!.*\\.\\.)([\\w'+-.]*)[\\w+-]@([\\da-z][\\da-z-]*\\.)+[a-z]{2,}$","description":"The employee’s work email address. If the email address is invalid, we will set this to `null`."},"personal_email":{"type":["string","null"],"pattern":"^(?!\\.)(?!.*\\.\\.)([\\w'+-.]*)[\\w+-]@([\\da-z][\\da-z-]*\\.)+[a-z]{2,}$","description":"The employee’s personal email address. If the email address is invalid, we will set this to `null`."},"mobile_phone_number":{"type":["string","null"],"description":"The employee’s mobile phone number."},"ssn":{"type":["string","null"],"description":"The employee’s social security number"},"tax_id":{"type":["string","null"],"description":"The employee’s tax ID."},"gender":{"anyOf":[{"type":"string","enum":["MALE","FEMALE","NON_BINARY","NOT_SPECIFIED"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The employee’s gender."},"ethnicity":{"anyOf":[{"type":"string","enum":["WHITE","ASIAN","HISPANIC_LATINO","HAWAIIAN","NATIVE_AMERICAN","BLACK_AFRICAN_AMERICAN","MULTIPLE_ETHNICITIES","DECLINE_TO_SPECIFY"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The employee’s ethnicity. In rare cases where we can’t find a clear mapping, the original string is passed through."},"marital_status":{"anyOf":[{"type":"string","enum":["SINGLE","MARRIED","DOMESTIC_PARTNERSHIP","WIDOWED","DIVORCED","SEPARATED","NOT_MARRIED"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The employee’s current marital status. In rare cases where we can’t find a clear mapping, the original string is passed through."},"employment_status":{"anyOf":[{"type":"string","enum":["ACTIVE","PENDING","INACTIVE","LEAVE"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The employee’s current employment status:\n\n- `ACTIVE`: the employee is **actively employed**\n- `PENDING`: the employee is **not actively employed yet** (but they signed their contract or are part of an onboarding process)\n- `INACTIVE`: the employee is **not actively employed** anymore\n- `LEAVE`: the employee is still employed but **currently on leave** (note that not all HR systems support this status — use our absences API for detailed information)\n\n In rare cases where we can’t find a clear mapping, the original string is passed through."},"employment_type":{"anyOf":[{"type":"string","enum":["FULL_TIME","PART_TIME","CONTRACT","INTERNSHIP","FREELANCE","WORKING_STUDENT","APPRENTICESHIP","TRAINING"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The employee’s current employment type:\n\n- `FULL_TIME`: the employee is actively employed\n- `PART_TIME`: the employee is working only part of the usual working hours\n- `CONTRACT`: the employee is working temporarily under a contract\n- `INTERNSHIP`: the employee is working as an intern\n- `FREELANCE`: the employee is working as a freelancer\n- `WORKING_STUDENT`: the employee is working as a working student\n- `APPRENTICESHIP`: the employee is working in an apprenticeship\n- `TRAINING`: the employee is working in a training program\n\n In rare cases where we can’t find a clear mapping, the original string is passed through."},"weekly_hours":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The employee’s weekly working hours."},"avatar":{"type":["string","null"],"description":"URL to the employee’s avatar. This is either the raw URL from the HR system (in cases where it can be requested without short-lived authentication) _or_ a URL to a temporarily cached version of the file hosted by Kombo. Kombo will delete the cached file after its deletion in the source system."},"work_location_id":{"type":["string","null"],"description":"The Kombo ID of the employee’s work location. The ID can be used to retrieve the work location from the `get work locations` endpoint."},"legal_entity_id":{"type":["string","null"],"description":"The Kombo ID of the employee’s legal entity. The ID can be used to retrieve the legal entity from the `get legal entities` endpoint."},"manager_id":{"type":["string","null"],"description":"The Kombo ID of the employee’s manager. The ID can be used to retrieve the manager from the `get employees` endpoint."},"home_address":{"type":["object","null"],"properties":{"city":{"type":["string","null"]},"country":{"type":["string","null"],"description":"Contains the ISO2 country code if possible. If not, it contains the original value."},"raw":{"type":["string","null"],"description":"If we have address data, this is filled with the raw address string."},"state":{"type":["string","null"]},"street_1":{"type":["string","null"],"description":"If we can parse the address data, this field contains the first part of the street information."},"street_2":{"type":["string","null"]},"zip_code":{"type":["string","null"]}},"description":"The employee’s home address."},"bank_accounts":{"type":["array","null"],"items":{"type":"object","properties":{"iban":{"type":["string","null"],"description":"The internationally unique IBAN identifying this account. If we detect a valid IBAN from the account number and this field would otherwise be empty, we will automatically populate this field."},"bic":{"type":["string","null"],"description":"The internationally unique BIC/SWIFT code identifying the bank behind this account. If we detect a valid BIC from the domestic bank routing number and this field would otherwise be empty, we will automatically populate this field."},"account_number":{"type":["string","null"],"description":"The bank-specific account number. Some companies use the account number field to put the IBAN here."},"holder_name":{"type":["string","null"],"description":"The name of the holder of this account."},"bank_name":{"type":["string","null"],"description":"The name of the bank behind this account."},"domestic_bank_routing":{"type":["object","null"],"properties":{"number":{"type":"string","description":"Bank routing number (e.g. DE Bankleitzahl, GB Sort Code, US ABA routing number, AU BSB code). This field is not formatted and therefore might contain delimiters (eg. 01-23-45)."},"type":{"type":["string","null"],"enum":["GB_SORT_CODE","DE_BANKLEITZAHL","US_ABA_ROUTING_TRANSIT_NUMBER","CA_ROUTING_NUMBER","AU_BSB_CODE","FR_RIB"],"description":"Enum of the routing type, prefixed with the iso-3166-1-alpha-2 banks origin country. If there is uncertainty about the type, it will be set to null."}},"required":["number","type"]}}},"description":"The employee’s bank accounts."},"date_of_birth":{"description":"The employee’s date of birth.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"start_date":{"description":"The date the employee started working for the organization.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"termination_date":{"description":"The date when the employment ends. Can be in the past or future.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_created_at":{"description":"The date and time the object was created in the remote system.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"custom_fields":{"type":["object","null"],"additionalProperties":true,"description":"A key-value store of fields not covered by the schema. [Read more](/custom-fields)"},"integration_fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object."},"key":{"type":"string","description":"The key of the field in the remote system."},"type":{"type":"string","enum":["DEFAULT","CUSTOM"],"description":"- `DEFAULT`: static fields in the remote system.\n- `CUSTOM`: fields that are created/editable by the user."},"value":{"type":"null","description":"The field's value."},"label":{"type":["string","null"],"description":"The label of the field. (not always available)"}},"required":["id","key","type","label"]},"description":"An array of selected passthrough integration fields. [Read more](/integration-fields)","examples":[[{"id":"5NVFhMpB9Ah6by44tzNjZLyE","key":"firstName","type":"DEFAULT","value":"Frank","label":"First Name"},{"id":"8nuajYpoRd5GnxEQaaWKUDYQ","key":"customTshirtSize","type":"CUSTOM","value":"XL","label":"T-Shirt Size"}]]},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."}},"required":["id","remote_id","employee_number","first_name","last_name","nationality","display_full_name","job_title","mobile_phone_number","ssn","tax_id","weekly_hours","avatar","work_location_id","legal_entity_id","manager_id","date_of_birth","start_date","termination_date","remote_created_at","changed_at","remote_deleted_at","custom_fields","integration_fields","remote_data"],"examples":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","employee_number":"3243422","first_name":"John","last_name":"Doe","nationality":"French","display_full_name":"John Doe","job_title":"Integrations Team Lead","work_email":"john.doe@acme.com","personal_email":"john@doe.me","mobile_phone_number":"801-555-4687","ssn":"555-32-6395","tax_id":"12 345 678 901","gender":"MALE","ethnicity":"BLACK_AFRICAN_AMERICAN","marital_status":"MARRIED","employment_status":"INACTIVE","employment_type":"FULL_TIME","weekly_hours":40,"avatar":"https://resources.bamboohr.com/images/photo_person_150x150.png","work_location_id":"7E2gyuv6TmvtByzBxW9Sxt53","legal_entity_id":"xB32bied320csBSsl3XWdlw33","manager_id":"9pf2pxBB8VX8EQMC9aipW2Bo","home_address":{"city":"Berlin","country":"DE","raw":"Sonnenallee 63\n12045 Berlin\nGermany","state":"Berlin","street_1":"Sonnenallee 63","street_2":null,"zip_code":"12045"},"bank_accounts":[{"account_number":"1234567890","bank_name":"Commerzbank","bic":"COBADEFFXXX","domestic_bank_routing":{"number":"34567890","type":"DE_BANKLEITZAHL"},"holder_name":"John Doe","iban":"DE12345678901234567890"}],"date_of_birth":"1986-01-01T00:00:00.000Z","start_date":"2020-04-07T00:00:00.000Z","termination_date":"2022-05-20T00:00:00.000Z","remote_created_at":"2020-04-07T12:32:01.000Z","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"custom_fields":{},"integration_fields":[],"remote_data":null}]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PostHrisEmployeesRequestBody":{"type":"object","properties":{"first_name":{"type":"string","description":"The first name of the employee."},"last_name":{"type":"string","description":"The last name of the employee."},"work_email":{"type":"string","description":"The email address of the employee to be created. For tools where the personal email address is required, we map this input to the personal email. This is documented on a per-tool basis.","format":"email"},"gender":{"type":"string","enum":["MALE","FEMALE","NON_BINARY","NOT_SPECIFIED"],"description":"The gender of the employee."},"job_title":{"type":"string","description":"The title of the position this person is working in."},"home_address":{"type":"object","properties":{"street_1":{"type":"string"},"street_2":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"zip_code":{"type":"string"},"country":{"type":"string","pattern":"^[A-Z]{2}$","description":"The uppercase two-letter ISO country (e.g., `DE`). For systems that use codes in formats other than `ISO 3166-1 alpha-2`, Kombo transforms the ISO Codes to the appropriate value."}},"description":"The employee's home address."},"date_of_birth":{"description":"The employee's date of birth. This is a plain date (i.e., `yyyy-MM-dd`), all time information is discarded.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"mobile_phone_number":{"type":"string"},"home_phone_number":{"type":"string"},"nationality":{"type":"string","pattern":"^[A-Z]{2}$","description":"The uppercase two-letter ISO country (e.g., `DE`). For systems that use codes in formats other than `ISO 3166-1 alpha-2`, Kombo transforms the ISO Codes to the appropriate value."},"start_date":{"description":"Start date of the employee. Also considered to be the hire date. This is a plain date (i.e., `yyyy-MM-dd`), all time information is discarded.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"legal_entity_id":{"type":"string","description":"The Kombo ID of the legal entity the employee should be in. This field is required for certain integrations."},"location_id":{"type":"string","description":"The Kombo ID of the location the employee should be in. This field is required for certain integrations."},"remote_fields":{"type":"object","properties":{"humaans":{"type":"object","properties":{"employee":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Humaans `Employee` object."}},"description":"Fields specific to Humaans."},"hibob":{"type":"object","properties":{"employee":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Hibob's `Person` endpoint."}},"description":"Fields specific to Hibob."},"sympa":{"type":"object","properties":{"GenericNewHire":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Sympa's `Employee` object."}},"description":"Fields specific to Sympa."},"silae":{"type":"object","properties":{"siret":{"type":"string","description":"The siret of the company. The siret can be found as the remote ID of a Silae legal entity."},"employee":{"type":"object","additionalProperties":true,"description":"Fields that we will passed through to Silae `Employee` object."},"employment":{"type":"object","additionalProperties":true,"description":"Fields that we will passed through to Silae `Employment` object."}},"description":"Fields specific to Silae."},"peoplehr":{"type":"object","properties":{"job_role_effective_date":{"description":"The effective date of the employee's current role. This is a plain date (i.e., `yyyy-MM-dd`), all time information is discarded.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"department":{"type":"string"}},"description":"Fields specific to PeopleHR."},"zohopeople":{"type":"object","properties":{"employee_id":{"type":"string","minLength":1,"description":"A personnel code used to identify individuals working for the business."}},"description":"Fields specific to Zoho People."},"workday":{"type":"object","properties":{"job_requisition_id":{"type":"string","description":"Workday job requisition ID of that the employee should be hired for. Provide either this or `position_id`."},"position_id":{"type":"string","description":"Workday position ID of that the employee should be hired to. Provide either this or `job_requisition_id`."},"ssn":{"type":"string","description":"The social security number of the employee."},"bank_account":{"type":"object","properties":{"iban":{"type":"string"},"bic":{"type":"string"},"bank_name":{"type":"string"}},"required":["iban","bic","bank_name"],"description":"The employee's bank account."}},"description":"Fields specific to Workday."},"deel":{"type":"object","properties":{"candidate_id":{"type":"string","description":"The unique identifier of the candidate in the ATS."},"candidate_link":{"type":"string","description":"The link to the candidate's profile in the ATS."}},"required":["candidate_id","candidate_link"],"description":"Fields specific to Deel."},"bamboohr":{"type":"object","properties":{"employee":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to BambooHR `Employee` object."}},"description":"Fields specific to BambooHR."},"oracle":{"type":"object","properties":{"group_id":{"type":"string","description":"The business unit group ID for which the employee should be created. It can be found as a group with the type `null`."},"department_id":{"type":"string","description":"The department group ID for which the employee should be created. It can be found as a group with the type `DEPARTMENT`."}},"required":["group_id","department_id"],"description":"Fields specific to Oracle HCM."},"adpworkforcenow":{"type":"object","properties":{"onboarding_template_code":{"type":"string","description":"The onboarding template to be used for the created employee. View the possible values in the Kombo dashboard by clicking on the ADP Workforce Now integration and viewing the field report in the settings tab."},"applicant_payroll_profile_group_code":{"type":"string","description":"The payroll group code (a.k.a. \"Company Code\") to be used for the created employee. View the possible values in the Kombo dashboard by clicking on the ADP Workforce Now integration and viewing the field report in the settings tab."},"manager_position_id":{"type":"string","description":"The position ID of the employment of the manager. Available as mappable custom field on employments. Not the employment ID or employment remote ID!"},"home_organization_unit_code":{"type":"string","description":"The remote id of a Kombo group with type \"DEPARTMENT\" that will be used as the employee's home department."},"personal_email":{"type":"string","description":"The personal email for the employee."}},"required":["onboarding_template_code","applicant_payroll_profile_group_code"],"description":"Fields specific to ADP Workforce Now."},"azuread":{"type":"object","properties":{"password":{"type":"string","description":"Azure / entra requires a password to be set when creating a user. The user has to use the password on his initial sign-in and will be forced to change the password once signed in."}},"required":["password"],"description":"Fields specific to Azure AD/Entra ID."},"paycor":{"type":"object","properties":{"paygroupRemoteId":{"type":"string","description":"[REQUIRED] Remote ID of a Kombo Group with type \"COST_CENTER\""},"departmentRemoteId":{"type":"string","description":"[REQUIRED] Remote ID of a Kombo Group with type \"DEPARTMENT\""}},"required":["paygroupRemoteId","departmentRemoteId"],"description":"Fields specific to Paycor."},"planday":{"type":"object","properties":{"department_remote_id":{"type":"string","description":"The remote ID of the department for which the employee should be assigned to. It can be found as a group with the type `DEPARTMENT`."}},"required":["department_remote_id"],"description":"Fields specific to PlanDay."},"dayforce":{"type":"object","properties":{"social_security_number":{"type":"string","description":"The social security number of the employee"},"pay_type":{"type":"string","description":"The pay type of the employee. This needs to be a valid XRefCode from Dayforce."},"pay_class":{"type":"string","description":"The pay class of the employee. This needs to be a valid XRefCode from Dayforce."},"pay_group":{"type":"string","description":"The pay group of the employee. This needs to be a valid XRefCode from Dayforce."},"base_rate":{"type":"number","format":"double","minimum":-1.7976931348623157e+308,"description":"The base rate of the employee."},"role":{"type":"string","description":"The role of the employee. This needs to be a valid XRefCode from Dayforce."},"location":{"type":"string","description":"The location of the employee. This needs to be a valid XRefCode from Dayforce."},"department":{"type":"string","description":"The department of the employee. This needs to be a valid XRefCode from Dayforce."},"job":{"type":"string","description":"The job of the employee. This needs to be a valid XRefCode from Dayforce."},"country":{"type":"string","description":"The country of the employee. This needs to be a valid XRefCode from Dayforce."}},"required":["social_security_number","pay_type","pay_class","pay_group","base_rate","role","location","department","job","country"],"description":"Fields specific to Dayforce."}},"description":"Additional fields that we will pass through to specific HRIS systems."}},"required":["first_name","last_name"]},"Schema2":{"discriminator":{"propertyName":"type"},"anyOf":[{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"],"enum":["first_name","last_name","date_of_birth","gender","home_address.city","home_address.country","home_address.state","home_address.street_1","home_address.street_2","home_address.zip_code","job_title","legal_entity_id","location_id","mobile_phone_number","home_phone_number","nationality","start_date","work_email","private_email","yearly_salary"]},"type":{"type":"string","const":"text"},"min_length":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"max_length":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"reg_exp":{"type":["string","null"]}},"required":["label","required","type"]},{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"],"enum":["first_name","last_name","date_of_birth","gender","home_address.city","home_address.country","home_address.state","home_address.street_1","home_address.street_2","home_address.zip_code","job_title","legal_entity_id","location_id","mobile_phone_number","home_phone_number","nationality","start_date","work_email","private_email","yearly_salary"]},"type":{"type":"string","const":"number"},"min":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"max":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308}},"required":["label","required","type"]},{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"],"enum":["first_name","last_name","date_of_birth","gender","home_address.city","home_address.country","home_address.state","home_address.street_1","home_address.street_2","home_address.zip_code","job_title","legal_entity_id","location_id","mobile_phone_number","home_phone_number","nationality","start_date","work_email","private_email","yearly_salary"]},"type":{"type":"string","const":"date"}},"required":["label","required","type"]},{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"],"enum":["first_name","last_name","date_of_birth","gender","home_address.city","home_address.country","home_address.state","home_address.street_1","home_address.street_2","home_address.zip_code","job_title","legal_entity_id","location_id","mobile_phone_number","home_phone_number","nationality","start_date","work_email","private_email","yearly_salary"]},"type":{"type":"string","const":"single_select"},"options":{"discriminator":{"propertyName":"type"},"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"inline"},"entries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"unified_value":{"type":"string"},"remote_id":{"oneOf":[{"type":"string"},{"type":"number","format":"double","minimum":-1.7976931348623157e+308}]}},"required":["id","label","remote_id"]}}},"required":["type","entries"]},{"type":"object","properties":{"type":{"type":"string","const":"referenced"},"link":{"type":"string"}},"required":["type","link"]}]}},"required":["label","required","type","options"]},{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"]},"type":{"type":"string","const":"multi_select"},"min_items":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"max_items":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"options":{"discriminator":{"propertyName":"type"},"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"inline"},"entries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"unified_value":{"type":"string"},"remote_id":{"oneOf":[{"type":"string"},{"type":"number","format":"double","minimum":-1.7976931348623157e+308}]}},"required":["id","label","remote_id"]}}},"required":["type","entries"]},{"type":"object","properties":{"type":{"type":"string","const":"referenced"},"link":{"type":"string"}},"required":["type","link"]}]}},"required":["label","required","type","options"]},{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"],"enum":["first_name","last_name","date_of_birth","gender","home_address.city","home_address.country","home_address.state","home_address.street_1","home_address.street_2","home_address.zip_code","job_title","legal_entity_id","location_id","mobile_phone_number","home_phone_number","nationality","start_date","work_email","private_email","yearly_salary"]},"type":{"type":"string","const":"checkbox"}},"required":["label","required","type"]},{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"],"enum":["first_name","last_name","date_of_birth","gender","home_address.city","home_address.country","home_address.state","home_address.street_1","home_address.street_2","home_address.zip_code","job_title","legal_entity_id","location_id","mobile_phone_number","home_phone_number","nationality","start_date","work_email","private_email","yearly_salary"]},"type":{"type":"string","const":"object"},"properties":{"$ref":"#/components/schemas/Schema1"}},"required":["label","required","type","properties"]},{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"],"enum":["first_name","last_name","date_of_birth","gender","home_address.city","home_address.country","home_address.state","home_address.street_1","home_address.street_2","home_address.zip_code","job_title","legal_entity_id","location_id","mobile_phone_number","home_phone_number","nationality","start_date","work_email","private_email","yearly_salary"]},"type":{"type":"string","const":"array"},"item_type":{"$ref":"#/components/schemas/Schema2"},"min_items":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"max_items":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308}},"required":["label","required","type","item_type"]},{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"],"enum":["first_name","last_name","date_of_birth","gender","home_address.city","home_address.country","home_address.state","home_address.street_1","home_address.street_2","home_address.zip_code","job_title","legal_entity_id","location_id","mobile_phone_number","home_phone_number","nationality","start_date","work_email","private_email","yearly_salary"]},"type":{"type":"string","const":"file"},"file_restrictions":{"type":"object","properties":{"accepted_mime_types":{"type":"array","items":{"type":"string"}},"max_file_size":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308}},"required":["accepted_mime_types"]}},"required":["label","required","type","file_restrictions"]}]},"Schema1":{"type":"object","additionalProperties":{"discriminator":{"propertyName":"type"},"anyOf":[{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"],"enum":["first_name","last_name","date_of_birth","gender","home_address.city","home_address.country","home_address.state","home_address.street_1","home_address.street_2","home_address.zip_code","job_title","legal_entity_id","location_id","mobile_phone_number","home_phone_number","nationality","start_date","work_email","private_email","yearly_salary"]},"type":{"type":"string","const":"text"},"min_length":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"max_length":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"reg_exp":{"type":["string","null"]}},"required":["label","required","type"]},{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"],"enum":["first_name","last_name","date_of_birth","gender","home_address.city","home_address.country","home_address.state","home_address.street_1","home_address.street_2","home_address.zip_code","job_title","legal_entity_id","location_id","mobile_phone_number","home_phone_number","nationality","start_date","work_email","private_email","yearly_salary"]},"type":{"type":"string","const":"number"},"min":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"max":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308}},"required":["label","required","type"]},{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"],"enum":["first_name","last_name","date_of_birth","gender","home_address.city","home_address.country","home_address.state","home_address.street_1","home_address.street_2","home_address.zip_code","job_title","legal_entity_id","location_id","mobile_phone_number","home_phone_number","nationality","start_date","work_email","private_email","yearly_salary"]},"type":{"type":"string","const":"date"}},"required":["label","required","type"]},{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"],"enum":["first_name","last_name","date_of_birth","gender","home_address.city","home_address.country","home_address.state","home_address.street_1","home_address.street_2","home_address.zip_code","job_title","legal_entity_id","location_id","mobile_phone_number","home_phone_number","nationality","start_date","work_email","private_email","yearly_salary"]},"type":{"type":"string","const":"single_select"},"options":{"discriminator":{"propertyName":"type"},"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"inline"},"entries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"unified_value":{"type":"string"},"remote_id":{"oneOf":[{"type":"string"},{"type":"number","format":"double","minimum":-1.7976931348623157e+308}]}},"required":["id","label","remote_id"]}}},"required":["type","entries"]},{"type":"object","properties":{"type":{"type":"string","const":"referenced"},"link":{"type":"string"}},"required":["type","link"]}]}},"required":["label","required","type","options"]},{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"]},"type":{"type":"string","const":"multi_select"},"min_items":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"max_items":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"options":{"discriminator":{"propertyName":"type"},"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"inline"},"entries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"unified_value":{"type":"string"},"remote_id":{"oneOf":[{"type":"string"},{"type":"number","format":"double","minimum":-1.7976931348623157e+308}]}},"required":["id","label","remote_id"]}}},"required":["type","entries"]},{"type":"object","properties":{"type":{"type":"string","const":"referenced"},"link":{"type":"string"}},"required":["type","link"]}]}},"required":["label","required","type","options"]},{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"],"enum":["first_name","last_name","date_of_birth","gender","home_address.city","home_address.country","home_address.state","home_address.street_1","home_address.street_2","home_address.zip_code","job_title","legal_entity_id","location_id","mobile_phone_number","home_phone_number","nationality","start_date","work_email","private_email","yearly_salary"]},"type":{"type":"string","const":"checkbox"}},"required":["label","required","type"]},{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"],"enum":["first_name","last_name","date_of_birth","gender","home_address.city","home_address.country","home_address.state","home_address.street_1","home_address.street_2","home_address.zip_code","job_title","legal_entity_id","location_id","mobile_phone_number","home_phone_number","nationality","start_date","work_email","private_email","yearly_salary"]},"type":{"type":"string","const":"object"},"properties":{"$ref":"#/components/schemas/Schema1"}},"required":["label","required","type","properties"]},{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"],"enum":["first_name","last_name","date_of_birth","gender","home_address.city","home_address.country","home_address.state","home_address.street_1","home_address.street_2","home_address.zip_code","job_title","legal_entity_id","location_id","mobile_phone_number","home_phone_number","nationality","start_date","work_email","private_email","yearly_salary"]},"type":{"type":"string","const":"array"},"item_type":{"$ref":"#/components/schemas/Schema2"},"min_items":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"max_items":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308}},"required":["label","required","type","item_type"]},{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"],"enum":["first_name","last_name","date_of_birth","gender","home_address.city","home_address.country","home_address.state","home_address.street_1","home_address.street_2","home_address.zip_code","job_title","legal_entity_id","location_id","mobile_phone_number","home_phone_number","nationality","start_date","work_email","private_email","yearly_salary"]},"type":{"type":"string","const":"file"},"file_restrictions":{"type":"object","properties":{"accepted_mime_types":{"type":"array","items":{"type":"string"}},"max_file_size":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308}},"required":["accepted_mime_types"]}},"required":["label","required","type","file_restrictions"]}]}},"GetHrisEmployeesFormPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"properties":{"type":"object","additionalProperties":{"discriminator":{"propertyName":"type"},"anyOf":[{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"],"enum":["first_name","last_name","date_of_birth","gender","home_address.city","home_address.country","home_address.state","home_address.street_1","home_address.street_2","home_address.zip_code","job_title","legal_entity_id","location_id","mobile_phone_number","home_phone_number","nationality","start_date","work_email","private_email","yearly_salary"]},"type":{"type":"string","const":"text"},"min_length":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"max_length":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"reg_exp":{"type":["string","null"]}},"required":["label","required","type"]},{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"],"enum":["first_name","last_name","date_of_birth","gender","home_address.city","home_address.country","home_address.state","home_address.street_1","home_address.street_2","home_address.zip_code","job_title","legal_entity_id","location_id","mobile_phone_number","home_phone_number","nationality","start_date","work_email","private_email","yearly_salary"]},"type":{"type":"string","const":"number"},"min":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"max":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308}},"required":["label","required","type"]},{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"],"enum":["first_name","last_name","date_of_birth","gender","home_address.city","home_address.country","home_address.state","home_address.street_1","home_address.street_2","home_address.zip_code","job_title","legal_entity_id","location_id","mobile_phone_number","home_phone_number","nationality","start_date","work_email","private_email","yearly_salary"]},"type":{"type":"string","const":"date"}},"required":["label","required","type"]},{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"],"enum":["first_name","last_name","date_of_birth","gender","home_address.city","home_address.country","home_address.state","home_address.street_1","home_address.street_2","home_address.zip_code","job_title","legal_entity_id","location_id","mobile_phone_number","home_phone_number","nationality","start_date","work_email","private_email","yearly_salary"]},"type":{"type":"string","const":"single_select"},"options":{"discriminator":{"propertyName":"type"},"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"inline"},"entries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"unified_value":{"type":"string"},"remote_id":{"oneOf":[{"type":"string"},{"type":"number","format":"double","minimum":-1.7976931348623157e+308}]}},"required":["id","label","remote_id"]}}},"required":["type","entries"]},{"type":"object","properties":{"type":{"type":"string","const":"referenced"},"link":{"type":"string"}},"required":["type","link"]}]}},"required":["label","required","type","options"]},{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"]},"type":{"type":"string","const":"multi_select"},"min_items":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"max_items":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"options":{"discriminator":{"propertyName":"type"},"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"inline"},"entries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"unified_value":{"type":"string"},"remote_id":{"oneOf":[{"type":"string"},{"type":"number","format":"double","minimum":-1.7976931348623157e+308}]}},"required":["id","label","remote_id"]}}},"required":["type","entries"]},{"type":"object","properties":{"type":{"type":"string","const":"referenced"},"link":{"type":"string"}},"required":["type","link"]}]}},"required":["label","required","type","options"]},{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"],"enum":["first_name","last_name","date_of_birth","gender","home_address.city","home_address.country","home_address.state","home_address.street_1","home_address.street_2","home_address.zip_code","job_title","legal_entity_id","location_id","mobile_phone_number","home_phone_number","nationality","start_date","work_email","private_email","yearly_salary"]},"type":{"type":"string","const":"checkbox"}},"required":["label","required","type"]},{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"],"enum":["first_name","last_name","date_of_birth","gender","home_address.city","home_address.country","home_address.state","home_address.street_1","home_address.street_2","home_address.zip_code","job_title","legal_entity_id","location_id","mobile_phone_number","home_phone_number","nationality","start_date","work_email","private_email","yearly_salary"]},"type":{"type":"string","const":"object"},"properties":{"$ref":"#/components/schemas/Schema1"}},"required":["label","required","type","properties"]},{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"],"enum":["first_name","last_name","date_of_birth","gender","home_address.city","home_address.country","home_address.state","home_address.street_1","home_address.street_2","home_address.zip_code","job_title","legal_entity_id","location_id","mobile_phone_number","home_phone_number","nationality","start_date","work_email","private_email","yearly_salary"]},"type":{"type":"string","const":"array"},"item_type":{"$ref":"#/components/schemas/Schema2"},"min_items":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"max_items":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308}},"required":["label","required","type","item_type"]},{"type":"object","properties":{"label":{"type":"string"},"required":{"type":"boolean"},"description":{"type":["string","null"]},"unified_key":{"type":["string","null"],"enum":["first_name","last_name","date_of_birth","gender","home_address.city","home_address.country","home_address.state","home_address.street_1","home_address.street_2","home_address.zip_code","job_title","legal_entity_id","location_id","mobile_phone_number","home_phone_number","nationality","start_date","work_email","private_email","yearly_salary"]},"type":{"type":"string","const":"file"},"file_restrictions":{"type":"object","properties":{"accepted_mime_types":{"type":"array","items":{"type":"string"}},"max_file_size":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308}},"required":["accepted_mime_types"]}},"required":["label","required","type","file_restrictions"]}]}}},"required":["properties"],"examples":[{"properties":{"firstName":{"label":"First Name","required":true,"description":"Employee's first name","unified_key":"first_name","type":"text","min_length":1,"max_length":100,"reg_exp":null},"startDate":{"label":"Start Date","required":true,"description":"Employee's start date","unified_key":"start_date","type":"date"},"workLocation":{"label":"Work Location","required":false,"description":"Employee's work location","unified_key":null,"type":"object","properties":{"site":{"label":"Site","required":true,"description":"Employee's site","unified_key":null,"type":"single_select","options":{"type":"inline","entries":[{"id":"FXrER44xubBqA9DLgZ3PFNNx","label":"Site 1","unified_value":"1","remote_id":"site_1"},{"id":"2rv75UKT2XBoQXsUb9agiTUm","label":"Site 2","unified_value":"2","remote_id":"site_2"}]}},"keyNumbers":{"label":"Key Numbers","required":false,"description":"Employee's key numbers","unified_key":null,"type":"array","item_type":{"label":"Key Number","required":false,"description":"The number of the keys which belong to the employee","unified_key":null,"type":"number","min":0,"max":99},"min_items":2,"max_items":5}}}}}]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PostHrisEmployeesFormPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":["string","null"],"description":"The Kombo id of the created employee. If null, we only created a pre-hire which shows up in the next sync after a successful onboarding."},"remote_id":{"type":["string","null"],"description":"The raw ID of the created employee in the remote system. This is only populated when `id` is set (i.e., when a full employee was created). For pre-hires, use `prehire_id` instead."},"prehire_id":{"type":["string","null"],"description":"The temporary ID returned by the remote system when creating a pre-hire. This ID may change or become invalid when the pre-hire becomes a full employee. Only populated when `id` is null."}},"required":["id","remote_id","prehire_id"],"examples":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"12345","prehire_id":null}]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"Schema5":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Schema4"}},"Schema6":{"type":"array","items":{"$ref":"#/components/schemas/Schema4"}},"Schema4":{"oneOf":[{"type":"string"},{"type":"number","format":"double","minimum":-1.7976931348623157e+308},{"type":"boolean"},{"$ref":"#/components/schemas/Schema5"},{"$ref":"#/components/schemas/Schema6"}]},"Schema3":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Schema4"}},"PostHrisEmployeesFormRequestBody":{"type":"object","properties":{"properties":{"$ref":"#/components/schemas/Schema3"}},"required":["properties"]},"PatchHrisEmployeesEmployeeIdParameterEmployeeId":{"type":"string","description":"The ID of the employee that should be updated. You can use their Kombo `id` or their ID in the remote system by prefixing it with `remote:` (e.g., `remote:12312`)"},"PatchHrisEmployeesEmployeeIdPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"employee_number":{"type":["string","null"],"description":"The employee’s organization-internal employee number."},"first_name":{"type":["string","null"],"description":"The employee’s first name."},"last_name":{"type":["string","null"],"description":"The employee’s last name."},"nationality":{"type":["string","null"],"description":"The employee’s nationality."},"display_full_name":{"type":["string","null"],"description":"The employee’s full name, including any middle names. Not all HR systems provide an explicit display name, so we recommend falling back to `first_name` and `last_name`."},"job_title":{"type":["string","null"],"description":"The employee’s job title."},"work_email":{"type":["string","null"],"pattern":"^(?!\\.)(?!.*\\.\\.)([\\w'+-.]*)[\\w+-]@([\\da-z][\\da-z-]*\\.)+[a-z]{2,}$","description":"The employee’s work email address. If the email address is invalid, we will set this to `null`."},"personal_email":{"type":["string","null"],"pattern":"^(?!\\.)(?!.*\\.\\.)([\\w'+-.]*)[\\w+-]@([\\da-z][\\da-z-]*\\.)+[a-z]{2,}$","description":"The employee’s personal email address. If the email address is invalid, we will set this to `null`."},"mobile_phone_number":{"type":["string","null"],"description":"The employee’s mobile phone number."},"ssn":{"type":["string","null"],"description":"The employee’s social security number"},"tax_id":{"type":["string","null"],"description":"The employee’s tax ID."},"gender":{"anyOf":[{"type":"string","enum":["MALE","FEMALE","NON_BINARY","NOT_SPECIFIED"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The employee’s gender."},"ethnicity":{"anyOf":[{"type":"string","enum":["WHITE","ASIAN","HISPANIC_LATINO","HAWAIIAN","NATIVE_AMERICAN","BLACK_AFRICAN_AMERICAN","MULTIPLE_ETHNICITIES","DECLINE_TO_SPECIFY"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The employee’s ethnicity. In rare cases where we can’t find a clear mapping, the original string is passed through."},"marital_status":{"anyOf":[{"type":"string","enum":["SINGLE","MARRIED","DOMESTIC_PARTNERSHIP","WIDOWED","DIVORCED","SEPARATED","NOT_MARRIED"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The employee’s current marital status. In rare cases where we can’t find a clear mapping, the original string is passed through."},"employment_status":{"anyOf":[{"type":"string","enum":["ACTIVE","PENDING","INACTIVE","LEAVE"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The employee’s current employment status:\n\n- `ACTIVE`: the employee is **actively employed**\n- `PENDING`: the employee is **not actively employed yet** (but they signed their contract or are part of an onboarding process)\n- `INACTIVE`: the employee is **not actively employed** anymore\n- `LEAVE`: the employee is still employed but **currently on leave** (note that not all HR systems support this status — use our absences API for detailed information)\n\n In rare cases where we can’t find a clear mapping, the original string is passed through."},"employment_type":{"anyOf":[{"type":"string","enum":["FULL_TIME","PART_TIME","CONTRACT","INTERNSHIP","FREELANCE","WORKING_STUDENT","APPRENTICESHIP","TRAINING"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The employee’s current employment type:\n\n- `FULL_TIME`: the employee is actively employed\n- `PART_TIME`: the employee is working only part of the usual working hours\n- `CONTRACT`: the employee is working temporarily under a contract\n- `INTERNSHIP`: the employee is working as an intern\n- `FREELANCE`: the employee is working as a freelancer\n- `WORKING_STUDENT`: the employee is working as a working student\n- `APPRENTICESHIP`: the employee is working in an apprenticeship\n- `TRAINING`: the employee is working in a training program\n\n In rare cases where we can’t find a clear mapping, the original string is passed through."},"weekly_hours":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The employee’s weekly working hours."},"avatar":{"type":["string","null"],"description":"URL to the employee’s avatar. This is either the raw URL from the HR system (in cases where it can be requested without short-lived authentication) _or_ a URL to a temporarily cached version of the file hosted by Kombo. Kombo will delete the cached file after its deletion in the source system."},"work_location_id":{"type":["string","null"],"description":"The Kombo ID of the employee’s work location. The ID can be used to retrieve the work location from the `get work locations` endpoint."},"legal_entity_id":{"type":["string","null"],"description":"The Kombo ID of the employee’s legal entity. The ID can be used to retrieve the legal entity from the `get legal entities` endpoint."},"manager_id":{"type":["string","null"],"description":"The Kombo ID of the employee’s manager. The ID can be used to retrieve the manager from the `get employees` endpoint."},"home_address":{"type":["object","null"],"properties":{"city":{"type":["string","null"]},"country":{"type":["string","null"],"description":"Contains the ISO2 country code if possible. If not, it contains the original value."},"raw":{"type":["string","null"],"description":"If we have address data, this is filled with the raw address string."},"state":{"type":["string","null"]},"street_1":{"type":["string","null"],"description":"If we can parse the address data, this field contains the first part of the street information."},"street_2":{"type":["string","null"]},"zip_code":{"type":["string","null"]}},"description":"The employee’s home address."},"bank_accounts":{"type":["array","null"],"items":{"type":"object","properties":{"iban":{"type":["string","null"],"description":"The internationally unique IBAN identifying this account. If we detect a valid IBAN from the account number and this field would otherwise be empty, we will automatically populate this field."},"bic":{"type":["string","null"],"description":"The internationally unique BIC/SWIFT code identifying the bank behind this account. If we detect a valid BIC from the domestic bank routing number and this field would otherwise be empty, we will automatically populate this field."},"account_number":{"type":["string","null"],"description":"The bank-specific account number. Some companies use the account number field to put the IBAN here."},"holder_name":{"type":["string","null"],"description":"The name of the holder of this account."},"bank_name":{"type":["string","null"],"description":"The name of the bank behind this account."},"domestic_bank_routing":{"type":["object","null"],"properties":{"number":{"type":"string","description":"Bank routing number (e.g. DE Bankleitzahl, GB Sort Code, US ABA routing number, AU BSB code). This field is not formatted and therefore might contain delimiters (eg. 01-23-45)."},"type":{"type":["string","null"],"enum":["GB_SORT_CODE","DE_BANKLEITZAHL","US_ABA_ROUTING_TRANSIT_NUMBER","CA_ROUTING_NUMBER","AU_BSB_CODE","FR_RIB"],"description":"Enum of the routing type, prefixed with the iso-3166-1-alpha-2 banks origin country. If there is uncertainty about the type, it will be set to null."}},"required":["number","type"]}}},"description":"The employee’s bank accounts."},"date_of_birth":{"description":"The employee’s date of birth.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"start_date":{"description":"The date the employee started working for the organization.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"termination_date":{"description":"The date when the employment ends. Can be in the past or future.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_created_at":{"description":"The date and time the object was created in the remote system.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."}},"required":["id","remote_id","employee_number","first_name","last_name","nationality","display_full_name","job_title","mobile_phone_number","ssn","tax_id","weekly_hours","avatar","work_location_id","legal_entity_id","manager_id","date_of_birth","start_date","termination_date","remote_created_at","changed_at","remote_deleted_at","remote_data"],"examples":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","employee_number":"3243422","first_name":"John","last_name":"Doe","nationality":"French","display_full_name":"John Doe","job_title":"Integrations Team Lead","work_email":"john.doe@acme.com","personal_email":"john@doe.me","mobile_phone_number":"801-555-4687","ssn":"555-32-6395","tax_id":"12 345 678 901","gender":"MALE","ethnicity":"BLACK_AFRICAN_AMERICAN","marital_status":"MARRIED","employment_status":"INACTIVE","employment_type":"FULL_TIME","weekly_hours":40,"avatar":"https://resources.bamboohr.com/images/photo_person_150x150.png","work_location_id":"7E2gyuv6TmvtByzBxW9Sxt53","legal_entity_id":"xB32bied320csBSsl3XWdlw33","manager_id":"9pf2pxBB8VX8EQMC9aipW2Bo","home_address":{"city":"Berlin","country":"DE","raw":"Sonnenallee 63\n12045 Berlin\nGermany","state":"Berlin","street_1":"Sonnenallee 63","street_2":null,"zip_code":"12045"},"bank_accounts":[{"account_number":"1234567890","bank_name":"Commerzbank","bic":"COBADEFFXXX","domestic_bank_routing":{"number":"34567890","type":"DE_BANKLEITZAHL"},"holder_name":"John Doe","iban":"DE12345678901234567890"}],"date_of_birth":"1986-01-01T00:00:00.000Z","start_date":"2020-04-07T00:00:00.000Z","termination_date":"2022-05-20T00:00:00.000Z","remote_created_at":"2020-04-07T12:32:01.000Z","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_data":null}]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PatchHrisEmployeesEmployeeIdRequestBody":{"type":"object","properties":{"first_name":{"type":"string","description":"The first name of the employee."},"last_name":{"type":"string","description":"The last name of the employee."},"work_email":{"type":"string","description":"The email address of the employee to be updated. For tools where the personal email address is required, we map this input to the personal email. This is documented on a per-tool basis.","format":"email"},"gender":{"type":"string","enum":["MALE","FEMALE","NON_BINARY","NOT_SPECIFIED"],"description":"The gender of the employee."},"job_title":{"type":"string","description":"The title of the position this person is working in."},"home_address":{"type":"object","properties":{"street_1":{"type":"string"},"street_2":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"zip_code":{"type":"string"},"country":{"type":"string","pattern":"^[A-Z]{2}$","description":"The uppercase two-letter ISO country (e.g., `DE`). For systems that use codes in formats other than `ISO 3166-1 alpha-2`, Kombo transforms the ISO Codes to the appropriate value."}},"description":"The employee's home address."},"date_of_birth":{"description":"The employee's date of birth. This is a plain date (i.e., `yyyy-MM-dd`), all time information is discarded.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"mobile_phone_number":{"type":"string"},"home_phone_number":{"type":"string"},"nationality":{"type":"string","pattern":"^[A-Z]{2}$","description":"The uppercase two-letter ISO country (e.g., `DE`). For systems that use codes in formats other than `ISO 3166-1 alpha-2`, Kombo transforms the ISO Codes to the appropriate value."},"start_date":{"description":"Start date of the employee. Also considered to be the hire date. This is a plain date (i.e., `yyyy-MM-dd`), all time information is discarded.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"legal_entity_id":{"type":"string","description":"The Kombo ID of the legal entity the employee should be in. This field is required for certain integrations."},"location_id":{"type":"string","description":"The Kombo ID of the location the employee should be in. This field is required for certain integrations."},"remote_fields":{"type":"object","properties":{"humaans":{"type":"object","properties":{"employee":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Humaans `Employee` object."}},"description":"Fields specific to Humaans."},"hibob":{"type":"object","properties":{"employee":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Hibob's `Person` endpoint."}},"description":"Fields specific to Hibob."},"sympa":{"type":"object","properties":{"GenericNewHire":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Sympa's `Employee` object."}},"description":"Fields specific to Sympa."},"silae":{"type":"object","properties":{"siret":{"type":"string","description":"The siret of the company. The siret can be found as the remote ID of a Silae legal entity."},"employee":{"type":"object","additionalProperties":true,"description":"Fields that we will passed through to Silae `Employee` object."},"employment":{"type":"object","additionalProperties":true,"description":"Fields that we will passed through to Silae `Employment` object."}},"description":"Fields specific to Silae."},"peoplehr":{"type":"object","properties":{"job_role_effective_date":{"description":"The effective date of the employee's current role. This is a plain date (i.e., `yyyy-MM-dd`), all time information is discarded.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"department":{"type":"string"}},"description":"Fields specific to PeopleHR."},"zohopeople":{"type":"object","properties":{"employee_id":{"type":"string","minLength":1,"description":"A personnel code used to identify individuals working for the business."}},"description":"Fields specific to Zoho People."},"workday":{"type":"object","properties":{"job_requisition_id":{"type":"string","description":"Workday job requisition ID of that the employee should be hired for. Provide either this or `position_id`."},"position_id":{"type":"string","description":"Workday position ID of that the employee should be hired to. Provide either this or `job_requisition_id`."},"ssn":{"type":"string","description":"The social security number of the employee."},"bank_account":{"type":"object","properties":{"iban":{"type":"string"},"bic":{"type":"string"},"bank_name":{"type":"string"}},"required":["iban","bic","bank_name"],"description":"The employee's bank account."}},"description":"Fields specific to Workday."},"deel":{"type":"object","properties":{"candidate_id":{"type":"string","description":"The unique identifier of the candidate in the ATS."},"candidate_link":{"type":"string","description":"The link to the candidate's profile in the ATS."}},"required":["candidate_id","candidate_link"],"description":"Fields specific to Deel."},"bamboohr":{"type":"object","properties":{"employee":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to BambooHR `Employee` object."}},"description":"Fields specific to BambooHR."},"oracle":{"type":"object","properties":{"group_id":{"type":"string","description":"The business unit group ID for which the employee should be created. It can be found as a group with the type `null`."},"department_id":{"type":"string","description":"The department group ID for which the employee should be created. It can be found as a group with the type `DEPARTMENT`."}},"required":["group_id","department_id"],"description":"Fields specific to Oracle HCM."},"adpworkforcenow":{"type":"object","properties":{"onboarding_template_code":{"type":"string","description":"The onboarding template to be used for the created employee. View the possible values in the Kombo dashboard by clicking on the ADP Workforce Now integration and viewing the field report in the settings tab."},"applicant_payroll_profile_group_code":{"type":"string","description":"The payroll group code (a.k.a. \"Company Code\") to be used for the created employee. View the possible values in the Kombo dashboard by clicking on the ADP Workforce Now integration and viewing the field report in the settings tab."},"manager_position_id":{"type":"string","description":"The position ID of the employment of the manager. Available as mappable custom field on employments. Not the employment ID or employment remote ID!"},"home_organization_unit_code":{"type":"string","description":"The remote id of a Kombo group with type \"DEPARTMENT\" that will be used as the employee's home department."},"personal_email":{"type":"string","description":"The personal email for the employee."}},"required":["onboarding_template_code","applicant_payroll_profile_group_code"],"description":"Fields specific to ADP Workforce Now."},"azuread":{"type":"object","properties":{"password":{"type":"string","description":"Azure / entra requires a password to be set when creating a user. The user has to use the password on his initial sign-in and will be forced to change the password once signed in."}},"required":["password"],"description":"Fields specific to Azure AD/Entra ID."},"paycor":{"type":"object","properties":{"paygroupRemoteId":{"type":"string","description":"[REQUIRED] Remote ID of a Kombo Group with type \"COST_CENTER\""},"departmentRemoteId":{"type":"string","description":"[REQUIRED] Remote ID of a Kombo Group with type \"DEPARTMENT\""}},"required":["paygroupRemoteId","departmentRemoteId"],"description":"Fields specific to Paycor."},"planday":{"type":"object","properties":{"department_remote_id":{"type":"string","description":"The remote ID of the department for which the employee should be assigned to. It can be found as a group with the type `DEPARTMENT`."}},"required":["department_remote_id"],"description":"Fields specific to PlanDay."},"dayforce":{"type":"object","properties":{"social_security_number":{"type":"string","description":"The social security number of the employee"},"pay_type":{"type":"string","description":"The pay type of the employee. This needs to be a valid XRefCode from Dayforce."},"pay_class":{"type":"string","description":"The pay class of the employee. This needs to be a valid XRefCode from Dayforce."},"pay_group":{"type":"string","description":"The pay group of the employee. This needs to be a valid XRefCode from Dayforce."},"base_rate":{"type":"number","format":"double","minimum":-1.7976931348623157e+308,"description":"The base rate of the employee."},"role":{"type":"string","description":"The role of the employee. This needs to be a valid XRefCode from Dayforce."},"location":{"type":"string","description":"The location of the employee. This needs to be a valid XRefCode from Dayforce."},"department":{"type":"string","description":"The department of the employee. This needs to be a valid XRefCode from Dayforce."},"job":{"type":"string","description":"The job of the employee. This needs to be a valid XRefCode from Dayforce."},"country":{"type":"string","description":"The country of the employee. This needs to be a valid XRefCode from Dayforce."}},"required":["social_security_number","pay_type","pay_class","pay_group","base_rate","role","location","department","job","country"],"description":"Fields specific to Dayforce."}},"description":"Additional fields that we will pass through to specific HRIS systems."},"ssn":{"type":"string","description":"The social security number of the employee."},"marital_status":{"type":"string","enum":["SINGLE","MARRIED","DOMESTIC_PARTNERSHIP","WIDOWED","DIVORCED","SEPARATED","NOT_MARRIED"],"description":"The marital status of an employee."},"termination_date":{"description":"The date on which the employment ends. This date can be in the past or in the future. This is a plain date (i.e., `yyyy-MM-dd`), all time information is discarded.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"tax_id":{"type":"string","description":"Tax ID of the employee. Most countries have different formats of that. In Germany, this is the `Steuer ID` and in the US it's the `TIN`."}},"required":["work_email"]},"PostHrisEmployeesEmployeeIdDocumentsParameterEmployeeId":{"type":"string"},"PostHrisEmployeesEmployeeIdDocumentsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object"},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PostHrisEmployeesEmployeeIdDocumentsRequestBody":{"type":"object","properties":{"category_id":{"type":"string"},"document":{"type":"object","properties":{"name":{"type":"string","description":"File name of the file you want to upload. We recommend providing something human-readable with a valid file extension (like `Resume.pdf`), as this might be shown in your customer's system."},"content_type":{"type":"string","pattern":"^[\\w.-]+\\/[\\w.-]+$","description":"Content/MIME type of the file (e.g., `application/pdf`).\n\nIf you provide `data`, this is required. If you provide `data_url`, this is optional and we'll attempt to use the `Content-Type` header of the response.\n\n**Note:** Please validate that the content type you provide is actually meaningful (and not something generic like [`application/octet-stream`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/MIME_types#applicationoctet-stream)). Especially when using object storage (like AWS S3), it's easy to accidentally discard the content types of user-provided files, so make sure to explicitly persist them when processing uploads from your users (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html#SysMetadata), [Google Cloud](https://cloud.google.com/storage/docs/metadata#content-type), and [Azure](https://learn.microsoft.com/en-us/rest/api/storageservices/put-blob#request-headers-all-blob-types))."},"data_url":{"type":"string","format":"uri","description":"URL to the file you want to upload that can be accessed without authentication headers. We will download the content immediately when receiving the request, so the URL can be short-lived.\n\nIf you're using an object storage provider (like AWS S3), we strongly recommend providing a signed URL for secure access (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html), [Google Cloud](https://cloud.google.com/storage/docs/access-control/signed-urls), and [Azure](https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview)).\n\n**Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases."},"data":{"type":"string","description":"Base64-encoded contents of the file you want to upload.\n\n**Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases."}},"required":["name"]}},"required":["category_id","document"]},"GetHrisEmployeeDocumentCategoriesParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetHrisEmployeeDocumentCategoriesParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetHrisEmployeeDocumentCategoriesParameterUpdatedAfter":{"description":"Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged.\n\nIf you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden.\n\nFor more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetHrisEmployeeDocumentCategoriesParameterIncludeDeleted":{"type":"string","enum":["true","false"],"default":"false","description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too."},"GetHrisEmployeeDocumentCategoriesParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetHrisEmployeeDocumentCategoriesParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetHrisEmployeeDocumentCategoriesPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":["string","null"],"description":"The employee document category name. For example, \"Employment contract\"."},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}}},"required":["id","remote_id","name","remote_data","changed_at","remote_deleted_at"],"examples":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","name":"Employment contract","remote_data":null,"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null}]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","name":"Employment contract","remote_data":null,"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null}]}]}},"required":["status","data"]},"GetHrisTeamsParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetHrisTeamsParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetHrisTeamsParameterUpdatedAfter":{"description":"Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged.\n\nIf you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden.\n\nFor more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetHrisTeamsParameterIncludeDeleted":{"type":"string","enum":["true","false"],"default":"false","description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too."},"GetHrisTeamsParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetHrisTeamsParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetHrisTeamsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":["string","null"],"description":"The name of the group."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"type":{"type":["string","null"],"enum":["DEPARTMENT","TEAM","COST_CENTER"],"description":"Type of the group."},"parent_id":{"type":["string","null"],"description":"The Kombo ID of the group’s parent group in the organizational structure. The ID can be used to retrieve the group from the `get groups` endpoint."},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."}},"required":["id","remote_id","name","changed_at","remote_deleted_at","type","parent_id","remote_data"],"examples":[{"id":"4B9bKBpX5tnwjiG93TAqF7ci","remote_id":"49","name":"Customer Success","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"type":"TEAM","parent_id":"KGaJ5XaVPob8mYVfD49W4DGB","remote_data":null}]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"4B9bKBpX5tnwjiG93TAqF7ci","remote_id":"49","name":"Customer Success","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"type":"TEAM","parent_id":"KGaJ5XaVPob8mYVfD49W4DGB","remote_data":null}]}]}},"required":["status","data"]},"GetHrisGroupsParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetHrisGroupsParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetHrisGroupsParameterUpdatedAfter":{"description":"Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged.\n\nIf you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden.\n\nFor more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetHrisGroupsParameterIncludeDeleted":{"type":"string","enum":["true","false"],"default":"false","description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too."},"GetHrisGroupsParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetHrisGroupsParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetHrisGroupsParameterTypes":{"type":"string","description":"Filter by a comma-separated list of group types: `DEPARTMENT`, `TEAM`, `COST_CENTER`, or `null` to filter groups without a type. \n\nLeave this blank to get results matching all values."},"GetHrisGroupsParameterNameContains":{"type":"string","description":"Filter by the `name` field. Can be used to find a group by keywords present in the group name."},"GetHrisGroupsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":["string","null"],"description":"The name of the group."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"type":{"type":["string","null"],"enum":["DEPARTMENT","TEAM","COST_CENTER"],"description":"Type of the group."},"parent_id":{"type":["string","null"],"description":"The Kombo ID of the group’s parent group in the organizational structure. The ID can be used to retrieve the group from the `get groups` endpoint."},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."}},"required":["id","remote_id","name","changed_at","remote_deleted_at","type","parent_id","remote_data"],"examples":[{"id":"4B9bKBpX5tnwjiG93TAqF7ci","remote_id":"49","name":"Customer Success","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"type":"TEAM","parent_id":"KGaJ5XaVPob8mYVfD49W4DGB","remote_data":null}]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"4B9bKBpX5tnwjiG93TAqF7ci","remote_id":"49","name":"Customer Success","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"type":"TEAM","parent_id":"KGaJ5XaVPob8mYVfD49W4DGB","remote_data":null}]}]}},"required":["status","data"]},"GetHrisEmploymentsParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetHrisEmploymentsParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetHrisEmploymentsParameterUpdatedAfter":{"description":"Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged.\n\nIf you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden.\n\nFor more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetHrisEmploymentsParameterIncludeDeleted":{"type":"string","enum":["true","false"],"default":"false","description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too."},"GetHrisEmploymentsParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetHrisEmploymentsParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetHrisEmploymentsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"employee_id":{"type":"string","description":"The Kombo ID of the employment’s employee. The ID can be used to retrieve the employee from the `get employees` endpoint."},"job_title":{"type":["string","null"],"description":"This field can contain historic job titles. Please use the `job_title` field on the employee for the active job title of an employee."},"pay_rate":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The monetary amount paid to an employee."},"pay_period":{"anyOf":[{"type":"string","enum":["HOUR","DAY","WEEK","TWO_WEEKS","HALF_MONTH","MONTH","TWO_MONTHS","QUARTER","HALF_YEAR","YEAR"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The time interval which the `pay_rate` is describing.\n\nA `pay_rate` value of `12000` with a `pay_period` of `YEAR` would indicate that the employee receives 12000 over the course of a year. In rare cases where we can’t find a clear mapping, the original string is passed through."},"pay_frequency":{"anyOf":[{"type":"string","enum":["DAILY","WEEKLY","BIWEEKLY","MONTHLY","SEMIMONTHLY","QUARTERLY","SEMIANNUALLY","ANNUALLY","PRO_RATA"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The time interval at which the employee receives payment.\n\nA `pay_rate` of `12000`, with a `pay_period` of `YEAR`, and a `pay_frequency` of `MONTHLY` would indicate that the employee is paid 1000 every month. In rare cases where we can’t find a clear mapping, the original string is passed through."},"employment_type":{"anyOf":[{"type":"string","enum":["FULL_TIME","PART_TIME","CONTRACT","INTERNSHIP","FREELANCE","WORKING_STUDENT","APPRENTICESHIP","TRAINING"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The employee’s current employment type:\n\n- `FULL_TIME`: the employee is actively employed\n- `PART_TIME`: the employee is working only part of the usual working hours\n- `CONTRACT`: the employee is working temporarily under a contract\n- `INTERNSHIP`: the employee is working as an intern\n- `FREELANCE`: the employee is working as a freelancer\n- `WORKING_STUDENT`: the employee is working as a working student\n- `APPRENTICESHIP`: the employee is working in an apprenticeship\n- `TRAINING`: the employee is working in a training program\n\n In rare cases where we can’t find a clear mapping, the original string is passed through."},"pay_currency":{"type":["string","null"],"description":"The currency that the employee is paid in. Usually returned in [ISO 4217 currency codes](https://www.iso.org/iso-4217-currency-codes.html)."},"effective_date":{"description":"The date of when the employment started.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."},"custom_fields":{"type":["object","null"],"additionalProperties":true,"description":"A key-value store of fields not covered by the schema. [Read more](/custom-fields)"},"integration_fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object."},"key":{"type":"string","description":"The key of the field in the remote system."},"type":{"type":"string","enum":["DEFAULT","CUSTOM"],"description":"- `DEFAULT`: static fields in the remote system.\n- `CUSTOM`: fields that are created/editable by the user."},"value":{"type":"null","description":"The field's value."},"label":{"type":["string","null"],"description":"The label of the field. (not always available)"}},"required":["id","key","type","label"]},"description":"An array of selected passthrough integration fields. [Read more](/integration-fields)","examples":[[{"id":"5NVFhMpB9Ah6by44tzNjZLyE","key":"firstName","type":"DEFAULT","value":"Frank","label":"First Name"},{"id":"8nuajYpoRd5GnxEQaaWKUDYQ","key":"customTshirtSize","type":"CUSTOM","value":"XL","label":"T-Shirt Size"}]]}},"required":["id","remote_id","employee_id","job_title","pay_rate","pay_currency","effective_date","changed_at","remote_deleted_at","remote_data","custom_fields","integration_fields"],"examples":[{"id":"12vpXR7BeqYNWDShXRgsonnm","remote_id":"859","employee_id":"26vafvWSRmbhNcxJYqjCzuJg","job_title":"Social Media Marketer","pay_rate":85000,"pay_period":"YEAR","pay_frequency":"SEMIMONTHLY","employment_type":"FULL_TIME","pay_currency":"EUR","effective_date":"2021-01-30T00:00:00.000Z","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_data":null,"custom_fields":{},"integration_fields":[]}]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"12vpXR7BeqYNWDShXRgsonnm","remote_id":"859","employee_id":"26vafvWSRmbhNcxJYqjCzuJg","job_title":"Social Media Marketer","pay_rate":85000,"pay_period":"YEAR","pay_frequency":"SEMIMONTHLY","employment_type":"FULL_TIME","pay_currency":"EUR","effective_date":"2021-01-30T00:00:00.000Z","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_data":null,"custom_fields":{},"integration_fields":[]}]}]}},"required":["status","data"]},"GetHrisLocationsParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetHrisLocationsParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetHrisLocationsParameterUpdatedAfter":{"description":"Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged.\n\nIf you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden.\n\nFor more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetHrisLocationsParameterIncludeDeleted":{"type":"string","enum":["true","false"],"default":"false","description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too."},"GetHrisLocationsParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetHrisLocationsParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetHrisLocationsParameterNameContains":{"type":"string","description":"Filter by the `name` field. Can be used to find a location by keywords present in the location name."},"GetHrisLocationsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":["string","null"],"description":"The work location’s name"},"address":{"type":["object","null"],"properties":{"city":{"type":["string","null"]},"country":{"type":["string","null"],"description":"Contains the ISO2 country code if possible. If not, it contains the original value."},"raw":{"type":["string","null"],"description":"If we have address data, this is filled with the raw address string."},"state":{"type":["string","null"]},"street_1":{"type":["string","null"],"description":"If we can parse the address data, this field contains the first part of the street information."},"street_2":{"type":["string","null"]},"zip_code":{"type":["string","null"]}},"description":"The work location’s address"},"type":{"type":["string","null"],"description":"The work location’s type. A freeform string."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."}},"required":["id","remote_id","name","type","changed_at","remote_deleted_at","remote_data"],"examples":[{"id":"22st2Ji8XpncEYEak8mvQgQF","remote_id":"1348","name":"Kombo HQ","address":{"city":"Berlin","country":"DE","raw":"Sonnenallee 63\n12045 Berlin, Berlin\nGermany","state":"Berlin","street_1":"Sonnenallee 63","street_2":null,"zip_code":"12045"},"type":"OFFICE","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":"2022-08-07T14:01:29.196Z","remote_data":null}]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"22st2Ji8XpncEYEak8mvQgQF","remote_id":"1348","name":"Kombo HQ","address":{"city":"Berlin","country":"DE","raw":"Sonnenallee 63\n12045 Berlin, Berlin\nGermany","state":"Berlin","street_1":"Sonnenallee 63","street_2":null,"zip_code":"12045"},"type":"OFFICE","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":"2022-08-07T14:01:29.196Z","remote_data":null}]}]}},"required":["status","data"]},"GetHrisAbsenceTypesParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetHrisAbsenceTypesParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetHrisAbsenceTypesParameterUpdatedAfter":{"description":"Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged.\n\nIf you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden.\n\nFor more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetHrisAbsenceTypesParameterIncludeDeleted":{"type":"string","enum":["true","false"],"default":"false","description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too."},"GetHrisAbsenceTypesParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetHrisAbsenceTypesParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetHrisAbsenceTypesPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":["string","null"],"description":"The absence’s name."},"unit":{"type":["string","null"],"enum":["HOURS","DAYS"],"description":"The time-unit of the absence."},"half_days_supported":{"type":["boolean","null"],"description":"Whether the integration supports half-day absences (represented through `start_half_day` and `end_half_day`) for this absence type."},"exact_times_supported":{"type":["boolean","null"],"description":"`true` if the system supports exact times (absences with a `start_time` and an `end_time`) for this absence, `false` if not."},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}}},"required":["id","remote_id","name","unit","half_days_supported","exact_times_supported","remote_data","changed_at","remote_deleted_at"],"examples":[{"id":"xzZoKssDaMZAd62kxayzzQvD","remote_id":"91","name":"Vacation","unit":"DAYS","half_days_supported":true,"exact_times_supported":false,"remote_data":null,"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null}]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"xzZoKssDaMZAd62kxayzzQvD","remote_id":"91","name":"Vacation","unit":"DAYS","half_days_supported":true,"exact_times_supported":false,"remote_data":null,"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null}]}]}},"required":["status","data"]},"GetHrisTimeOffBalancesParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetHrisTimeOffBalancesParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetHrisTimeOffBalancesParameterUpdatedAfter":{"description":"Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged.\n\nIf you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden.\n\nFor more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetHrisTimeOffBalancesParameterIncludeDeleted":{"type":"string","enum":["true","false"],"default":"false","description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too."},"GetHrisTimeOffBalancesParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetHrisTimeOffBalancesParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetHrisTimeOffBalancesParameterEmployeeId":{"type":"string","description":"Filter by a specific employee using their ID."},"GetHrisTimeOffBalancesPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"employee_id":{"type":"string","description":"The Kombo ID of the employee to which the balance belongs to. The ID can be used to retrieve the employee from the `get employees` endpoint."},"type_id":{"type":"string"},"balance":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The amount of time available to the employee."},"balance_unit":{"type":["string","null"],"enum":["HOURS","DAYS"],"description":"The time-unit of the balance."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"used":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The amount of time used by the employee."},"used_unit":{"type":["string","null"],"enum":["HOURS","DAYS"],"description":"The time-unit of the used time."},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."},"type":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":["string","null"],"description":"The absence’s name."},"unit":{"type":["string","null"],"enum":["HOURS","DAYS"],"description":"The time-unit of the absence."},"half_days_supported":{"type":["boolean","null"],"description":"Whether the integration supports half-day absences (represented through `start_half_day` and `end_half_day`) for this absence type."},"exact_times_supported":{"type":["boolean","null"],"description":"`true` if the system supports exact times (absences with a `start_time` and an `end_time`) for this absence, `false` if not."},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}}},"required":["id","remote_id","name","unit","half_days_supported","exact_times_supported","remote_data","changed_at","remote_deleted_at"],"examples":[{"id":"xzZoKssDaMZAd62kxayzzQvD","remote_id":"91","name":"Vacation","unit":"DAYS","half_days_supported":true,"exact_times_supported":false,"remote_data":null,"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null}]}},"required":["id","remote_id","employee_id","type_id","balance","balance_unit","changed_at","remote_deleted_at","used","used_unit","remote_data","type"]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"FuyRuk5NqP3qTcThED3ymTuE","remote_id":"124123","employee_id":"2Up4ZCvq1bFVzmzXG6EWzV3j","type_id":"BQJaBxRCiqN46G27VTegvkEr","balance":14,"balance_unit":"DAYS","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"used":3,"used_unit":"DAYS","remote_data":null,"type":{"id":"xzZoKssDaMZAd62kxayzzQvD","remote_id":"91","name":"Vacation","unit":"DAYS","half_days_supported":true,"exact_times_supported":false,"remote_data":null,"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null}}]}]}},"required":["status","data"]},"GetHrisAbsencesParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetHrisAbsencesParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetHrisAbsencesParameterUpdatedAfter":{"description":"Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged.\n\nIf you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden.\n\nFor more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetHrisAbsencesParameterIncludeDeleted":{"type":"string","enum":["true","false"],"default":"false","description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too."},"GetHrisAbsencesParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetHrisAbsencesParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetHrisAbsencesParameterDateFrom":{"description":"Filter for all the absences that either start _or_ haven't ended yet on/after this day. If you imagine a calendar displaying absences, this defines the left-most visible day. This is a plain date (i.e., `yyyy-MM-dd`), all time information is discarded.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetHrisAbsencesParameterDateUntil":{"description":"Filter for absences that start on or before this day (but might continue after). If you imagine a calendar displaying absences, this defines the right-most visible day. This is a plain date (i.e., `yyyy-MM-dd`), all time information is discarded.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetHrisAbsencesParameterTypeIds":{"type":"string","description":"Filter by a comma-separated list of absence type IDs."},"GetHrisAbsencesParameterEmployeeId":{"type":"string","description":"Filter by a specific employee using their ID."},"GetHrisAbsencesParameterTimeFrom":{"description":"**(⚠️ Deprecated - Use the `date_from` filter instead.)** Filter for absences that either start after or start before and end after a certain time.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetHrisAbsencesParameterTimeUntil":{"description":"**(⚠️ Deprecated - Use the `date_until` filter instead.)** Filter for absences that start before a certain time.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetHrisAbsencesPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"employee_id":{"type":"string","description":"The Kombo ID of the employee to which the absence belongs to. The ID can be used to retrieve the employee from the `get employees` endpoint."},"approver_id":{"type":["string","null"],"description":"**(⚠️ Deprecated - We won't increase coverage for this feature)** The Kombo ID of the employee who is responsible for approving this absence."},"start_date":{"description":"The date this absence starts in the `yyyy-MM-dd` format.","type":"null"},"end_date":{"description":"The date this absence ends in the `yyyy-MM-dd` format.","type":"null"},"start_half_day":{"type":["boolean","null"],"description":"`true` if the absence starts in the middle of the day, `false` if not, and `null` if the absence type doesn't support half-day absences. For multi-day absences, this only applies to the first day of the absence."},"end_half_day":{"type":["boolean","null"],"description":"`true` if the absence ends in the middle of the day, `false` if not, and `null` if the absence type doesn't support half-day absences. For multi-day absences, this only applies to the last day of the absence."},"start_time":{"description":"The time at which this absence starts. Follows the format `HH:mm:ss` (e.g., `14:45:15`).","type":"null"},"end_time":{"description":"The time at which this absence ends. Follows the format `HH:mm:ss` (e.g., `14:45:15`).","type":"null"},"amount":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The amount of time this absence takes."},"unit":{"type":["string","null"],"enum":["HOURS","DAYS"],"description":"The unit of time for this absence. Can be `HOURS` or `DAYS`."},"status":{"anyOf":[{"type":"string","enum":["REQUESTED","APPROVED","DECLINED","CANCELLED","DELETED"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The absence’s current status. In rare cases where we can’t find a clear mapping, the original string is passed through."},"employee_note":{"type":["string","null"],"description":"A note the employee has added to this absence."},"type_id":{"type":["string","null"],"description":"The Kombo absence type ID of this absence."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."},"type":{"type":["object","null"],"properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":["string","null"],"description":"The absence’s name."},"unit":{"type":["string","null"],"enum":["HOURS","DAYS"],"description":"The time-unit of the absence."},"half_days_supported":{"type":["boolean","null"],"description":"Whether the integration supports half-day absences (represented through `start_half_day` and `end_half_day`) for this absence type."},"exact_times_supported":{"type":["boolean","null"],"description":"`true` if the system supports exact times (absences with a `start_time` and an `end_time`) for this absence, `false` if not."},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}}},"required":["id","remote_id","name","unit","half_days_supported","exact_times_supported","remote_data","changed_at","remote_deleted_at"],"examples":[{"id":"xzZoKssDaMZAd62kxayzzQvD","remote_id":"91","name":"Vacation","unit":"DAYS","half_days_supported":true,"exact_times_supported":false,"remote_data":null,"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null}]}},"required":["id","remote_id","employee_id","approver_id","start_date","end_date","start_half_day","end_half_day","start_time","end_time","amount","unit","employee_note","type_id","changed_at","remote_deleted_at","remote_data","type"]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"22st2Ji8XpncEYEak8mvQgQF","remote_id":"1348","employee_id":"JDdUy9kiH5APaGizFrgNmQjM","approver_id":"AgXEispYPP1BbToHpqnqcpxy","start_date":"2022-08-04","end_date":"2022-08-05","start_half_day":true,"end_half_day":false,"start_time":"13:15:00","end_time":"17:00:00","amount":2,"unit":"DAYS","status":"APPROVED","employee_note":"Visiting my family.","type_id":"xzZoKssDaMZAd62kxayzzQvD","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":"2022-08-07T14:01:29.196Z","remote_data":null,"type":{"id":"xzZoKssDaMZAd62kxayzzQvD","remote_id":"91","name":"Vacation","unit":"DAYS","half_days_supported":true,"exact_times_supported":false,"remote_data":null,"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null}}]}]}},"required":["status","data"]},"PostHrisAbsencesPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"employee_id":{"type":"string","description":"The Kombo ID of the employee to which the absence belongs to. The ID can be used to retrieve the employee from the `get employees` endpoint."},"approver_id":{"type":["string","null"],"description":"**(⚠️ Deprecated - We won't increase coverage for this feature)** The Kombo ID of the employee who is responsible for approving this absence."},"start_date":{"description":"The date this absence starts in the `yyyy-MM-dd` format.","type":"null"},"end_date":{"description":"The date this absence ends in the `yyyy-MM-dd` format.","type":"null"},"start_half_day":{"type":["boolean","null"],"description":"`true` if the absence starts in the middle of the day, `false` if not, and `null` if the absence type doesn't support half-day absences. For multi-day absences, this only applies to the first day of the absence."},"end_half_day":{"type":["boolean","null"],"description":"`true` if the absence ends in the middle of the day, `false` if not, and `null` if the absence type doesn't support half-day absences. For multi-day absences, this only applies to the last day of the absence."},"start_time":{"description":"The time at which this absence starts. Follows the format `HH:mm:ss` (e.g., `14:45:15`).","type":"null"},"end_time":{"description":"The time at which this absence ends. Follows the format `HH:mm:ss` (e.g., `14:45:15`).","type":"null"},"amount":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The amount of time this absence takes."},"unit":{"type":["string","null"],"enum":["HOURS","DAYS"],"description":"The unit of time for this absence. Can be `HOURS` or `DAYS`."},"status":{"anyOf":[{"type":"string","enum":["REQUESTED","APPROVED","DECLINED","CANCELLED","DELETED"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The absence’s current status. In rare cases where we can’t find a clear mapping, the original string is passed through."},"employee_note":{"type":["string","null"],"description":"A note the employee has added to this absence."},"type_id":{"type":["string","null"],"description":"The Kombo absence type ID of this absence."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."}},"required":["id","remote_id","employee_id","approver_id","start_date","end_date","start_half_day","end_half_day","start_time","end_time","amount","unit","employee_note","type_id","changed_at","remote_deleted_at","remote_data"],"examples":[{"id":"22st2Ji8XpncEYEak8mvQgQF","remote_id":"1348","employee_id":"JDdUy9kiH5APaGizFrgNmQjM","approver_id":"AgXEispYPP1BbToHpqnqcpxy","start_date":"2022-08-04","end_date":"2022-08-05","start_half_day":true,"end_half_day":false,"start_time":"13:15:00","end_time":"17:00:00","amount":2,"unit":"DAYS","status":"APPROVED","employee_note":"Visiting my family.","type_id":"xzZoKssDaMZAd62kxayzzQvD","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":"2022-08-07T14:01:29.196Z","remote_data":null}]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PostHrisAbsencesRequestBody":{"type":"object","properties":{"employee_id":{"type":"string","description":"The ID of the employee in Kombo or their ID in the remote system by prefixing it with `remote:` (e.g., `remote:12312`)"},"absence_type_id":{"type":"string","description":"The ID of the absence type in Kombo (not its `remote_id`)."},"status":{"type":"string","enum":["REQUESTED","APPROVED"],"description":"The state that the absence should be created in. Some tools may approve absences automatically if they were created for an absence type that does not require approval.","default":"REQUESTED"},"start_date":{"description":"The date that the absence starts. This is a plain date (i.e., `yyyy-MM-dd`), with all time information discarded.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"end_date":{"description":"When the absence ends.The date that the absence ends. This is a plain date (i.e., `yyyy-MM-dd`), with all time information discarded.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"start_half_day":{"type":"boolean","description":"`true` if the absence should start in the middle of the day.","default":false},"end_half_day":{"type":"boolean","description":"`true` if the absence should end in the middle of the day.","default":false},"amount":{"type":"number","format":"double","minimum":0,"description":"The amount of time of the absence. Specifying this also requires specifying `unit`. This is supported by very few tools."},"unit":{"type":"string","enum":["HOURS","DAYS"],"description":"The time unit of the `amount` value. Specifying this also requires specifying `amount`."},"employee_note":{"type":["string","null"],"description":"A note describing the reason for this absence."},"start_time":{"type":"string","pattern":"^(?:2[0-3]|[01]?\\d):[0-5]?\\d(:[0-5]?\\d)?$","description":"The time of when the absence begins. Follows the format `HH:mm` or `HH:mm:ss` (e.g., `14:45:15`). If `start_time` is specified, `end_time` has to be specified as well."},"end_time":{"type":"string","pattern":"^(?:2[0-3]|[01]?\\d):[0-5]?\\d(:[0-5]?\\d)?$","description":"The time of when the absence ends. Follows the format `HH:mm` or `HH:mm:ss` (e.g., `14:45:15`). If `end_time` is specified, `start_time` has to be specified as well."},"remote_fields":{"type":"object","properties":{"adpworkforcenow":{"type":"object","properties":{"employment_id":{"type":"string","description":"[Required] The employment ID of the employee that the absence will be added to."},"paid_leave":{"type":"boolean","description":"Whether the absence is paid or not."}},"description":"Fields specific to ADP Workforce Now."}},"description":"Additional fields that we will pass through to specific HRIS systems."}},"required":["employee_id","absence_type_id","start_date","end_date","employee_note"]},"DeleteHrisAbsencesAbsenceIdParameterAbsenceId":{"type":"string","description":"The Kombo ID of the absence"},"DeleteHrisAbsencesAbsenceIdPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"employee_id":{"type":"string","description":"The Kombo ID of the employee to which the absence belongs to. The ID can be used to retrieve the employee from the `get employees` endpoint."},"approver_id":{"type":["string","null"],"description":"**(⚠️ Deprecated - We won't increase coverage for this feature)** The Kombo ID of the employee who is responsible for approving this absence."},"start_date":{"description":"The date this absence starts in the `yyyy-MM-dd` format.","type":"null"},"end_date":{"description":"The date this absence ends in the `yyyy-MM-dd` format.","type":"null"},"start_half_day":{"type":["boolean","null"],"description":"`true` if the absence starts in the middle of the day, `false` if not, and `null` if the absence type doesn't support half-day absences. For multi-day absences, this only applies to the first day of the absence."},"end_half_day":{"type":["boolean","null"],"description":"`true` if the absence ends in the middle of the day, `false` if not, and `null` if the absence type doesn't support half-day absences. For multi-day absences, this only applies to the last day of the absence."},"start_time":{"description":"The time at which this absence starts. Follows the format `HH:mm:ss` (e.g., `14:45:15`).","type":"null"},"end_time":{"description":"The time at which this absence ends. Follows the format `HH:mm:ss` (e.g., `14:45:15`).","type":"null"},"amount":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The amount of time this absence takes."},"unit":{"type":["string","null"],"enum":["HOURS","DAYS"],"description":"The unit of time for this absence. Can be `HOURS` or `DAYS`."},"status":{"anyOf":[{"type":"string","enum":["REQUESTED","APPROVED","DECLINED","CANCELLED","DELETED"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The absence’s current status. In rare cases where we can’t find a clear mapping, the original string is passed through."},"employee_note":{"type":["string","null"],"description":"A note the employee has added to this absence."},"type_id":{"type":["string","null"],"description":"The Kombo absence type ID of this absence."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."}},"required":["id","remote_id","employee_id","approver_id","start_date","end_date","start_half_day","end_half_day","start_time","end_time","amount","unit","employee_note","type_id","changed_at","remote_deleted_at","remote_data"],"examples":[{"id":"22st2Ji8XpncEYEak8mvQgQF","remote_id":"1348","employee_id":"JDdUy9kiH5APaGizFrgNmQjM","approver_id":"AgXEispYPP1BbToHpqnqcpxy","start_date":"2022-08-04","end_date":"2022-08-05","start_half_day":true,"end_half_day":false,"start_time":"13:15:00","end_time":"17:00:00","amount":2,"unit":"DAYS","status":"APPROVED","employee_note":"Visiting my family.","type_id":"xzZoKssDaMZAd62kxayzzQvD","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":"2022-08-07T14:01:29.196Z","remote_data":null}]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"DeleteHrisAbsencesAbsenceIdRequestBody":{"type":"object","properties":{"remote_fields":{"type":"object","properties":{"adpworkforcenow":{"type":"object","properties":{"employment_id":{"type":"string","description":"[Required] The employment ID of the employee that the absence will be deleted from."}},"description":"Fields specific to ADP Workforce Now."}},"description":"Additional fields that we will pass through to specific HRIS systems."}}},"GetHrisLegalEntitiesParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetHrisLegalEntitiesParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetHrisLegalEntitiesParameterUpdatedAfter":{"description":"Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged.\n\nIf you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden.\n\nFor more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetHrisLegalEntitiesParameterIncludeDeleted":{"type":"string","enum":["true","false"],"default":"false","description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too."},"GetHrisLegalEntitiesParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetHrisLegalEntitiesParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetHrisLegalEntitiesParameterNameContains":{"type":"string","description":"Filter by the `name` field. Can be used to find a legal entity by keywords present in the legal entity name."},"GetHrisLegalEntitiesPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":["string","null"],"description":"The legal entity’s name."},"address":{"type":["object","null"],"properties":{"city":{"type":["string","null"]},"country":{"type":["string","null"],"description":"Contains the ISO2 country code if possible. If not, it contains the original value."},"raw":{"type":["string","null"],"description":"If we have address data, this is filled with the raw address string."},"state":{"type":["string","null"]},"street_1":{"type":["string","null"],"description":"If we can parse the address data, this field contains the first part of the street information."},"street_2":{"type":["string","null"]},"zip_code":{"type":["string","null"]}},"description":"The legal entity’s address."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."}},"required":["id","remote_id","name","changed_at","remote_deleted_at","remote_data"],"examples":[{"id":"4B9bKBpX5tnwjiG93TAqF7ci","remote_id":"49","name":"ACME Inc.","address":{"city":"Berlin","country":"DE","raw":"Sonnenallee 63\n12045 Berlin, Berlin\nGermany","state":"Berlin","street_1":"Sonnenallee 63","street_2":null,"zip_code":"12045"},"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_data":null}]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"4B9bKBpX5tnwjiG93TAqF7ci","remote_id":"49","name":"ACME Inc.","address":{"city":"Berlin","country":"DE","raw":"Sonnenallee 63\n12045 Berlin, Berlin\nGermany","state":"Berlin","street_1":"Sonnenallee 63","street_2":null,"zip_code":"12045"},"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_data":null}]}]}},"required":["status","data"]},"GetHrisTimesheetsParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetHrisTimesheetsParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetHrisTimesheetsParameterUpdatedAfter":{"description":"Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged.\n\nIf you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden.\n\nFor more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetHrisTimesheetsParameterIncludeDeleted":{"type":"string","enum":["true","false"],"default":"false","description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too."},"GetHrisTimesheetsParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetHrisTimesheetsParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetHrisTimesheetsParameterEmployeeId":{"type":"string","description":"Returns timesheets for a specific employee."},"GetHrisTimesheetsParameterStartedBefore":{"description":"Return timesheets whose start time is before the given timestamp.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetHrisTimesheetsParameterStartedAfter":{"description":"Return timesheets whose start time is on or after the given timestamp.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetHrisTimesheetsParameterEndedBefore":{"description":"Return timesheets whose end time is on or before the given timestamp.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetHrisTimesheetsParameterEndedAfter":{"description":"Return timesheets whose end time is on or after the given timestamp.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetHrisTimesheetsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"employee_id":{"type":"string","description":"The Kombo ID of the employee to which the timesheet belongs. The ID can be used to retrieve the employee from the `get employees` endpoint."},"started_at":{"description":"Start time of the shift, converted into UTC time zone.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"ended_at":{"description":"End time of the shift, converted into UTC time zone.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"timezone":{"type":["string","null"],"pattern":"^[+-](?:0\\d|1[0-4]):[0-5]\\d$","description":"The ISO 8601 numeric UTC offset of the timesheet location in the format ±HH:MM (e.g., \"+02:00\", \"-05:30\"). If null, the original offset information was not available. You can use this to display the right timezone for the timesheet in the UI."},"payable_hours":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"Payable hours including grace periods - only if available in the HRIS. Won't be calculated through Kombo."},"unpaid_break_minutes":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"Unpaid break in minutes - will be from the HRIS or calculated by Kombo if we have concrete unpaid break times."},"breaks":{"type":["array","null"],"items":{"type":"object","properties":{"ended_at":{"anyOf":[{"description":"YYYY-MM-DDTHH:mm:ss.sssZ","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},{"type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$"}],"description":"End time of the break."},"paid":{"type":"boolean","description":"Whether the break is paid or unpaid."},"started_at":{"anyOf":[{"description":"YYYY-MM-DDTHH:mm:ss.sssZ","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},{"type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$"}],"description":"Start time of the break."}},"required":["ended_at","paid","started_at"]},"description":"Concrete times of the breaks."},"approval_status":{"type":["string","null"],"description":"Approval status of the shift. Can be PENDING, APPROVED, REJECTED, or null."},"approved_at":{"description":"The time when the shift was approved.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"comment":{"type":["string","null"],"description":"Comment on the shift."},"custom_fields":{"type":["object","null"],"additionalProperties":true,"description":"A key-value store of fields not covered by the schema. [Read more](/custom-fields)"},"integration_fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object."},"key":{"type":"string","description":"The key of the field in the remote system."},"type":{"type":"string","enum":["DEFAULT","CUSTOM"],"description":"- `DEFAULT`: static fields in the remote system.\n- `CUSTOM`: fields that are created/editable by the user."},"value":{"type":"null","description":"The field's value."},"label":{"type":["string","null"],"description":"The label of the field. (not always available)"}},"required":["id","key","type","label"]},"description":"An array of selected passthrough integration fields. [Read more](/integration-fields)","examples":[[{"id":"5NVFhMpB9Ah6by44tzNjZLyE","key":"firstName","type":"DEFAULT","value":"Frank","label":"First Name"},{"id":"8nuajYpoRd5GnxEQaaWKUDYQ","key":"customTshirtSize","type":"CUSTOM","value":"XL","label":"T-Shirt Size"}]]},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."}},"required":["id","remote_id","employee_id","started_at","ended_at","timezone","payable_hours","unpaid_break_minutes","approval_status","approved_at","comment","custom_fields","integration_fields","changed_at","remote_deleted_at","remote_data"],"examples":[{"id":"C1BB1C36-FE1D-4185-AAB8-0716D8FBA017","remote_id":"446655440000","employee_id":"289AD550-8659-4305-92B2-6EAA006AAB17","started_at":"2025-04-16T09:02:00.000Z","ended_at":"2025-04-16T16:59:00.000Z","timezone":"-04:00","payable_hours":8,"unpaid_break_minutes":30,"breaks":[{"ended_at":"2025-04-16T12:30:00.000Z","paid":false,"started_at":"2025-04-16T12:00:00.000Z"}],"approval_status":"APPROVED","approved_at":"2025-04-16T17:05:31.000Z","comment":"Sprint planning & code review","custom_fields":{},"integration_fields":[],"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_data":{}}]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"C1BB1C36-FE1D-4185-AAB8-0716D8FBA017","remote_id":"446655440000","employee_id":"289AD550-8659-4305-92B2-6EAA006AAB17","started_at":"2025-04-16T09:02:00.000Z","ended_at":"2025-04-16T16:59:00.000Z","timezone":"-04:00","payable_hours":8,"unpaid_break_minutes":30,"breaks":[{"ended_at":"2025-04-16T12:30:00.000Z","paid":false,"started_at":"2025-04-16T12:00:00.000Z"}],"approval_status":"APPROVED","approved_at":"2025-04-16T17:05:31.000Z","comment":"Sprint planning & code review","custom_fields":{},"integration_fields":[],"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_data":{}}]}]}},"required":["status","data"]},"GetHrisPerformanceReviewCyclesParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetHrisPerformanceReviewCyclesParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetHrisPerformanceReviewCyclesParameterUpdatedAfter":{"description":"Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged.\n\nIf you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden.\n\nFor more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetHrisPerformanceReviewCyclesParameterIncludeDeleted":{"type":"string","enum":["true","false"],"default":"false","description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too."},"GetHrisPerformanceReviewCyclesParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetHrisPerformanceReviewCyclesParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetHrisPerformanceReviewCyclesPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":["string","null"],"description":"The name of the performance review cycle."},"review_period_start_date":{"description":"The start date of the review period of the performance review cycle. It is the start date of the evaluation timeframe and the earliest date reviews can be submitted for this cycle.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."}},"required":["id","remote_id","name","review_period_start_date","changed_at","remote_deleted_at","remote_data"],"examples":[{"id":"4B9bKBpX5tnwjiG93TAqF7ci","remote_id":"1","name":"2025 Annual Performance Review Cycle","review_period_start_date":"2025-01-01T00:00:00.000Z","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_data":null}]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"4B9bKBpX5tnwjiG93TAqF7ci","remote_id":"1","name":"2025 Annual Performance Review Cycle","review_period_start_date":"2025-01-01T00:00:00.000Z","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_data":null}]}]}},"required":["status","data"]},"GetHrisPerformanceReviewsParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetHrisPerformanceReviewsParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetHrisPerformanceReviewsParameterUpdatedAfter":{"description":"Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged.\n\nIf you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden.\n\nFor more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetHrisPerformanceReviewsParameterIncludeDeleted":{"type":"string","enum":["true","false"],"default":"false","description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too."},"GetHrisPerformanceReviewsParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetHrisPerformanceReviewsParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetHrisPerformanceReviewsParameterTypes":{"type":"string","description":"Filter by a comma-separated list of `MANAGER`, `DIRECT_REPORT`, `PEER`, `SELF` \n\nLeave this blank to get results matching all values."},"GetHrisPerformanceReviewsParameterReviewCycleIds":{"type":"string","description":"Filter by a comma-separated list of review cycle IDs."},"GetHrisPerformanceReviewsParameterRevieweeIds":{"type":"string","description":"Filter by a comma-separated list of reviewee IDs."},"GetHrisPerformanceReviewsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"type":{"type":["string","null"],"enum":["MANAGER","DIRECT_REPORT","PEER","SELF"],"description":"The relationship between the reviewee and reviewer. Manager: The reviewer is the manager of the reviewee. Direct Report: The reviewer is a direct report of the reviewee (reverse MANAGER). Peer: The reviewer is a peer of the reviewee. Self: The reviewer is the reviewee himself/herself. null: The relationship cannot be determined or the reviewer is missing."},"summary_comment":{"type":["string","null"],"description":"The summary comment of the performance review."},"summary_rating":{"discriminator":{"propertyName":"type"},"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"NUMERIC"},"min":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The minimum value of the summary rating."},"max":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The maximum value of the summary rating."},"value":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The numeric value of the summary rating."}},"required":["type","min","max","value"]},{"type":"object","properties":{"type":{"type":"string","const":"SINGLE_SELECT"},"ordered_options":{"type":["array","null"],"items":{"type":"string"},"description":"The options of the summary rating. Ordered from bad to good."},"value":{"type":["string","null"],"description":"The text value of the summary rating."}},"required":["type","ordered_options","value"]},{"type":"null"}],"description":"The summary rating of the performance review."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."},"reviewee":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"first_name":{"type":["string","null"],"description":"The employee’s first name."},"last_name":{"type":["string","null"],"description":"The employee’s last name."},"display_full_name":{"type":["string","null"],"description":"The employee’s full name, including any middle names. Not all HR systems provide an explicit display name, so we recommend falling back to `first_name` and `last_name`."},"work_email":{"type":["string","null"],"pattern":"^(?!\\.)(?!.*\\.\\.)([\\w'+-.]*)[\\w+-]@([\\da-z][\\da-z-]*\\.)+[a-z]{2,}$","description":"The employee’s work email address. If the email address is invalid, we will set this to `null`."},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}}},"required":["id","remote_id","first_name","last_name","display_full_name","remote_deleted_at"],"description":"The employee receiving the review.","examples":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","first_name":"John","last_name":"Doe","display_full_name":"John Doe","work_email":"john.doe@acme.com","remote_deleted_at":null},{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","first_name":"John","last_name":"Doe","display_full_name":"John Doe","work_email":"john.doe@acme.com","remote_deleted_at":null}]},"reviewer":{"type":["object","null"],"properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"first_name":{"type":["string","null"],"description":"The employee’s first name."},"last_name":{"type":["string","null"],"description":"The employee’s last name."},"display_full_name":{"type":["string","null"],"description":"The employee’s full name, including any middle names. Not all HR systems provide an explicit display name, so we recommend falling back to `first_name` and `last_name`."},"work_email":{"type":["string","null"],"pattern":"^(?!\\.)(?!.*\\.\\.)([\\w'+-.]*)[\\w+-]@([\\da-z][\\da-z-]*\\.)+[a-z]{2,}$","description":"The employee’s work email address. If the email address is invalid, we will set this to `null`."},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}}},"required":["id","remote_id","first_name","last_name","display_full_name","remote_deleted_at"],"description":"The employee giving/writing the review.","examples":[{"id":"4EeSSSd9Fr8iiW9mPKmjEVWK","remote_id":"1024","first_name":"Peter","last_name":"Doe","display_full_name":"Peter Doe","work_email":"peter.doe@acme.com","remote_deleted_at":null}]},"review_cycle":{"type":["object","null"],"properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":["string","null"],"description":"The name of the performance review cycle."},"review_period_start_date":{"description":"The start date of the review period of the performance review cycle. It is the start date of the evaluation timeframe and the earliest date reviews can be submitted for this cycle.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."}},"required":["id","remote_id","name","review_period_start_date","changed_at","remote_deleted_at","remote_data"],"examples":[{"id":"4B9bKBpX5tnwjiG93TAqF7ci","remote_id":"1","name":"2025 Annual Performance Review Cycle","review_period_start_date":"2025-01-01T00:00:00.000Z","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_data":null}]}},"required":["id","remote_id","type","summary_comment","changed_at","remote_deleted_at","remote_data","reviewee","reviewer","review_cycle"]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"4B9bKBpX5tnwjiG93TAqF7ci","remote_id":"1","type":"MANAGER","summary_comment":"Good job this year! Let's keep it up for 2024!","summary_rating":{"ordered_options":["Needs improvement","Below expectations","Meets expectations","Exceeds expectations","Exceptional"],"type":"SINGLE_SELECT","value":"Exceeds expectations"},"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_data":null,"reviewee":{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","first_name":"John","last_name":"Doe","display_full_name":"John Doe","work_email":"john.doe@acme.com","remote_deleted_at":null},"reviewer":{"id":"4EeSSSd9Fr8iiW9mPKmjEVWK","remote_id":"1024","first_name":"Peter","last_name":"Doe","display_full_name":"Peter Doe","work_email":"peter.doe@acme.com","remote_deleted_at":null},"review_cycle":{"id":"4B9bKBpX5tnwjiG93TAqF7ci","remote_id":"1","name":"2025 Annual Performance Review Cycle","review_period_start_date":"2025-01-01T00:00:00.000Z","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_data":null}}]}]}},"required":["status","data"]},"GetHrisSkillsParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetHrisSkillsParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetHrisSkillsParameterNameContains":{"type":"string","description":"Filter by the `name` field. Can be used to find a skills by keywords present in the skill name."},"GetHrisSkillsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":"string","description":"The name of the skill."},"description":{"type":["string","null"],"description":"The description of the skill."},"ordered_levels":{"type":["array","null"],"items":{"type":"string"},"description":"List of available skill levels in order of proficiency (e.g., [\"Beginner\", \"Intermediate\", \"Advanced\"])."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."}},"required":["id","remote_id","name","description","ordered_levels","changed_at","remote_deleted_at","remote_data"],"examples":[{"id":"28KMdr68N8kG9EzLwjsN9aoz","remote_id":"238476582","name":"TypeScript Programming","description":"The ability understand and write TypeScript code.","ordered_levels":["Proficiency Level 1","Proficiency Level 2","Proficiency Level 3","Proficiency Level 4","Proficiency Level 5"],"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_data":null}]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"28KMdr68N8kG9EzLwjsN9aoz","remote_id":"238476582","name":"TypeScript Programming","description":"The ability understand and write TypeScript code.","ordered_levels":["Proficiency Level 1","Proficiency Level 2","Proficiency Level 3","Proficiency Level 4","Proficiency Level 5"],"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_data":null}]}]}},"required":["status","data"]},"PostHrisSkillsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":"string","description":"The name of the skill."},"description":{"type":["string","null"],"description":"The description of the skill."},"ordered_levels":{"type":["array","null"],"items":{"type":"string"},"description":"List of available skill levels in order of proficiency (e.g., [\"Beginner\", \"Intermediate\", \"Advanced\"])."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."}},"required":["id","remote_id","name","description","ordered_levels","changed_at","remote_deleted_at","remote_data"],"examples":[{"id":"28KMdr68N8kG9EzLwjsN9aoz","remote_id":"238476582","name":"TypeScript Programming","description":"The ability understand and write TypeScript code.","ordered_levels":["Proficiency Level 1","Proficiency Level 2","Proficiency Level 3","Proficiency Level 4","Proficiency Level 5"],"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_data":null}]}},"required":["status","data"]},"PostHrisSkillsRequestBody":{"type":"object","properties":{"name":{"type":"string","description":"The name of the skill"},"levels":{"type":"array","items":{"type":"string"},"description":"List of available skill levels (e.g., [\"Beginner\", \"Intermediate\", \"Advanced\"])"}},"required":["name"]},"PatchHrisSkillsSkillIdParameterSkillId":{"type":"string","description":"The ID of the skill"},"PatchHrisSkillsSkillIdPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":"string","description":"The name of the skill."},"description":{"type":["string","null"],"description":"The description of the skill."},"ordered_levels":{"type":["array","null"],"items":{"type":"string"},"description":"List of available skill levels in order of proficiency (e.g., [\"Beginner\", \"Intermediate\", \"Advanced\"])."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."}},"required":["id","remote_id","name","description","ordered_levels","changed_at","remote_deleted_at","remote_data"],"examples":[{"id":"28KMdr68N8kG9EzLwjsN9aoz","remote_id":"238476582","name":"TypeScript Programming","description":"The ability understand and write TypeScript code.","ordered_levels":["Proficiency Level 1","Proficiency Level 2","Proficiency Level 3","Proficiency Level 4","Proficiency Level 5"],"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_data":null}]}},"required":["status","data"]},"PatchHrisSkillsSkillIdRequestBody":{"type":"object","properties":{"name":{"type":"string","description":"The name of the skill"},"levels":{"type":"array","items":{"type":"string"},"description":"List of available skill levels (e.g., [\"Beginner\", \"Intermediate\", \"Advanced\"])"}}},"DeleteHrisSkillsSkillIdParameterSkillId":{"type":"string","description":"The ID of the skill"},"DeleteHrisSkillsSkillIdPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":"string","description":"The name of the skill."},"description":{"type":["string","null"],"description":"The description of the skill."},"ordered_levels":{"type":["array","null"],"items":{"type":"string"},"description":"List of available skill levels in order of proficiency (e.g., [\"Beginner\", \"Intermediate\", \"Advanced\"])."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."}},"required":["id","remote_id","name","description","ordered_levels","changed_at","remote_deleted_at","remote_data"],"examples":[{"id":"28KMdr68N8kG9EzLwjsN9aoz","remote_id":"238476582","name":"TypeScript Programming","description":"The ability understand and write TypeScript code.","ordered_levels":["Proficiency Level 1","Proficiency Level 2","Proficiency Level 3","Proficiency Level 4","Proficiency Level 5"],"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":"2022-08-07T14:01:29.196Z","remote_data":null}]}},"required":["status","data"]},"DeleteHrisSkillsSkillIdRequestBody":{"type":"object","properties":{}},"GetHrisEmployeeSkillAssignmentsParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetHrisEmployeeSkillAssignmentsParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetHrisEmployeeSkillAssignmentsParameterEmployeeIds":{"type":"string","description":"Filter by a comma-separated list of employee IDs."},"GetHrisEmployeeSkillAssignmentsParameterSkillIds":{"type":"string","description":"Filter by a comma-separated list of skill IDs."},"GetHrisEmployeeSkillAssignmentsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier for the employee skill assignment"},"employee_id":{"type":"string","description":"The ID of the employee"},"skill_id":{"type":"string","description":"The ID of the skill"},"current_level":{"type":["string","null"],"description":"The current skill level of the employee"}},"required":["id","employee_id","skill_id","current_level"],"examples":[{"id":"8AvRLpxwY5J6pGxfY6fUD81Z","employee_id":"26vafvWSRmbhNcxJYqjCzuJg","skill_id":"28KMdr68N8kG9EzLwjsN9aoz","current_level":"Proficiency Level 1"}]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"8AvRLpxwY5J6pGxfY6fUD81Z","employee_id":"26vafvWSRmbhNcxJYqjCzuJg","skill_id":"28KMdr68N8kG9EzLwjsN9aoz","current_level":"Proficiency Level 1"}]}]}},"required":["status","data"]},"PostHrisEmployeeSkillAssignmentsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier for the employee skill assignment"},"employee_id":{"type":"string","description":"The ID of the employee"},"skill_id":{"type":"string","description":"The ID of the skill"},"current_level":{"type":["string","null"],"description":"The current skill level of the employee"}},"required":["id","employee_id","skill_id","current_level"],"examples":[{"id":"8AvRLpxwY5J6pGxfY6fUD81Z","employee_id":"26vafvWSRmbhNcxJYqjCzuJg","skill_id":"28KMdr68N8kG9EzLwjsN9aoz","current_level":"Proficiency Level 1"}]}},"required":["status","data"]},"PostHrisEmployeeSkillAssignmentsRequestBody":{"type":"object","properties":{"employee_id":{"type":"string","description":"The ID of the employee"},"skill_id":{"type":"string","description":"The ID of the skill"},"current_level":{"type":"string","description":"The current skill level of the employee"}},"required":["employee_id","skill_id"]},"PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdParameterEmployeeSkillAssignmentId":{"type":"string","description":"The ID of the employee skill assignment"},"PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier for the employee skill assignment"},"employee_id":{"type":"string","description":"The ID of the employee"},"skill_id":{"type":"string","description":"The ID of the skill"},"current_level":{"type":["string","null"],"description":"The current skill level of the employee"}},"required":["id","employee_id","skill_id","current_level"],"examples":[{"id":"8AvRLpxwY5J6pGxfY6fUD81Z","employee_id":"26vafvWSRmbhNcxJYqjCzuJg","skill_id":"28KMdr68N8kG9EzLwjsN9aoz","current_level":"Proficiency Level 1"}]}},"required":["status","data"]},"PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody":{"type":"object","properties":{"current_level":{"type":["string","null"],"description":"The current skill level of the employee. Can be `null` to remove the skill level."}},"required":["current_level"]},"DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdParameterEmployeeSkillAssignmentId":{"type":"string","description":"The ID of the employee skill assignment"},"DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier for the employee skill assignment"},"employee_id":{"type":"string","description":"The ID of the employee"},"skill_id":{"type":"string","description":"The ID of the skill"},"current_level":{"type":["string","null"],"description":"The current skill level of the employee"}},"required":["id","employee_id","skill_id","current_level"],"examples":[{"id":"8AvRLpxwY5J6pGxfY6fUD81Z","employee_id":"26vafvWSRmbhNcxJYqjCzuJg","skill_id":"28KMdr68N8kG9EzLwjsN9aoz","current_level":"Proficiency Level 1"}]}},"required":["status","data"]},"DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody":{"type":"object","properties":{}},"GetHrisJobPositionsParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetHrisJobPositionsParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetHrisJobPositionsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":["string","null"],"description":"The name of the job position"},"description":{"type":["string","null"],"description":"The description of the job position"},"legal_entity_id":{"type":["string","null"],"description":"The ID of the legal entity"},"location_id":{"type":["string","null"],"description":"The ID of the location"},"department_id":{"type":["string","null"],"description":"The ID of the department"},"group_ids":{"type":"array","items":{"type":"string"},"description":"The IDs of the groups associated with this position"},"parent_position_id":{"type":["string","null"],"description":"The ID of the parent job position"},"skills":{"type":["array","null"],"items":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the skill."},"remote_id":{"type":"string","description":"The remote ID of the skill."},"name":{"type":"string","description":"The name of the skill."},"required":{"type":["boolean","null"],"description":"Whether this skill is required or optional for this position."},"required_level":{"type":["string","null"],"description":"The required skill level for this position."}},"required":["id","remote_id","name","required","required_level"]},"description":"The skills associated with this position"},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}}},"required":["id","remote_id","name","description","legal_entity_id","location_id","department_id","group_ids","parent_position_id","skills","remote_data","changed_at","remote_deleted_at"],"examples":[{"id":"66DivjMyjTejkNQiZvgEnaCd","remote_id":"893475964229","name":"Software Engineer","description":"Develops and maintains software applications.","legal_entity_id":null,"location_id":"G6TP2jidzSUV6MHVJmdz1avv","department_id":"BaR5b9jnoVns3ZnpG5CHdkpy","group_ids":["HhXjAXTNok9USc4tP4gU2wXS"],"parent_position_id":"H4FFyZWRkW7LSEDE5ctXSgsT","skills":[{"id":"28KMdr68N8kG9EzLwjsN9aoz","remote_id":"238476582","name":"TypeScript Programming","required":true,"required_level":"Beginner"}],"remote_data":null,"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null}]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"66DivjMyjTejkNQiZvgEnaCd","remote_id":"893475964229","name":"Software Engineer","description":"Develops and maintains software applications.","legal_entity_id":null,"location_id":"G6TP2jidzSUV6MHVJmdz1avv","department_id":"BaR5b9jnoVns3ZnpG5CHdkpy","group_ids":["HhXjAXTNok9USc4tP4gU2wXS"],"parent_position_id":"H4FFyZWRkW7LSEDE5ctXSgsT","skills":[{"id":"28KMdr68N8kG9EzLwjsN9aoz","remote_id":"238476582","name":"TypeScript Programming","required":true,"required_level":"Beginner"}],"remote_data":null,"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null}]}]}},"required":["status","data"]},"GetAtsApplicationsParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetAtsApplicationsParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetAtsApplicationsParameterUpdatedAfter":{"description":"Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged.\n\nIf you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden.\n\nFor more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetAtsApplicationsParameterIncludeDeleted":{"type":"string","enum":["true","false"],"default":"false","description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too."},"GetAtsApplicationsParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetAtsApplicationsParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetAtsApplicationsParameterOutcome":{"type":"string","enum":["PENDING","HIRED","DECLINED"],"description":"**(⚠️ Deprecated - Use the `outcomes` filter instead.)** Filter applications by outcome. This allows you to get applications that are for example `PENDING`, `HIRED`, or `DECLINED`."},"GetAtsApplicationsParameterOutcomes":{"type":"string","description":"Filter by a comma-separated list of `PENDING`, `HIRED`, `DECLINED` \n* `PENDING`: The application is still being processed. \n* `HIRED`: The candidate was hired. \n* `DECLINED`: The candidate was declined. \n \n\nLeave this blank to get results matching all values."},"GetAtsApplicationsParameterJobIds":{"type":"string","description":"Filter by a comma-separated list of job IDs. We will only return applications that are related to _any_ of the jobs."},"GetAtsApplicationsParameterJobRemoteIds":{"type":"string","description":"Filter by a comma-separated list of job remote IDs. We will only return applications that are related to _any_ of the jobs."},"GetAtsApplicationsParameterCurrentStageIds":{"type":"string","description":"Filter by a comma-separated list of application stage IDs. We will only return applications that are currently in _any_ of the stages."},"GetAtsApplicationsParameterRemoteCreatedAfter":{"description":"Filter applications by the day they were created in the remote system. This allows you to get applications that were created on or after a certain day.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetAtsApplicationsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"outcome":{"type":["string","null"],"enum":["PENDING","HIRED","DECLINED"],"description":"Parsed status of the application. If Kombo identifies that the application was accepted and the candidate hired, it will be `HIRED`. If the application was rejected or the candidate declined, it will be `DECLINED`. If the application is still in process, it will be `PENDING`.\nKombo will always try to deliver this information as reliably as possible."},"rejection_reason_name":{"type":["string","null"],"description":"Reason for the rejection of the candidate."},"rejected_at":{"description":"The time that the application was rejected.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"current_stage_id":{"type":["string","null"],"description":"ID of the current application stage"},"job_id":{"type":["string","null"],"description":"The Kombo ID of the job which the candidate applied to. The ID can be used to retrieve the job from the `get jobs` endpoint."},"candidate_id":{"type":["string","null"],"description":"The Kombo ID of the candidate who applied to the job. The ID can be used to retrieve the candidate from the `get candidates` endpoint."},"screening_question_answers":{"type":["array","null"],"items":{"anyOf":[{"type":"object","properties":{"answer":{"type":"object","properties":{"content":{"type":["string","null"]}},"required":["content"]},"question":{"type":"object","properties":{"remote_id":{"type":["string","null"]},"title":{"type":"string"},"type":{"type":"string","const":"TEXT"}},"required":["remote_id","title","type"]}},"required":["answer","question"]},{"type":"object","properties":{"answer":{"type":"object","properties":{"choice":{"type":["string","null"]}},"required":["choice"]},"question":{"type":"object","properties":{"remote_id":{"type":["string","null"]},"title":{"type":"string"},"type":{"type":"string","const":"SINGLE_SELECT"}},"required":["remote_id","title","type"]}},"required":["answer","question"]},{"type":"object","properties":{"answer":{"type":"object","properties":{"choices":{"type":"array","items":{"type":"string"},"default":[]}}},"question":{"type":"object","properties":{"remote_id":{"type":["string","null"]},"title":{"type":"string"},"type":{"type":"string","const":"MULTI_SELECT"}},"required":["remote_id","title","type"]}},"required":["answer","question"]},{"type":"object","properties":{"answer":{"type":"object","properties":{"checked":{"type":["boolean","null"]}},"required":["checked"]},"question":{"type":"object","properties":{"remote_id":{"type":["string","null"]},"title":{"type":"string"},"type":{"type":"string","const":"BOOLEAN"}},"required":["remote_id","title","type"]}},"required":["answer","question"]},{"type":"object","properties":{"answer":{"type":"object","properties":{"number":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308}},"required":["number"]},"question":{"type":"object","properties":{"remote_id":{"type":["string","null"]},"title":{"type":"string"},"type":{"type":"string","const":"NUMBER"}},"required":["remote_id","title","type"]}},"required":["answer","question"]},{"type":"object","properties":{"answer":{"type":"object","properties":{"date":{"type":["string","null"],"format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$"}},"required":["date"]},"question":{"type":"object","properties":{"remote_id":{"type":["string","null"]},"title":{"type":"string"},"type":{"type":"string","const":"DATE"}},"required":["remote_id","title","type"]}},"required":["answer","question"]},{"type":"object","properties":{"answer":{"type":"object","properties":{"raw":{"type":"null","description":"We pass the original question data along so you can handle it."}}},"question":{"type":"object","properties":{"remote_id":{"type":["string","null"]},"title":{"type":"string"},"type":{"type":"string","const":"UNKNOWN","description":"When we're not able to map a specific question type yet, we will return this type. Every `UNKNOWN` question will also be parsed and unified by us at some point."}},"required":["remote_id","title","type"]}},"required":["answer","question"]}]},"default":[],"description":"A list of answers to screening questions. The screening answer type `FILE` is currently unsupported."},"custom_fields":{"type":["object","null"],"additionalProperties":true,"description":"A key-value store of fields not covered by the schema. [Read more](/custom-fields)"},"integration_fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object."},"key":{"type":"string","description":"The key of the field in the remote system."},"type":{"type":"string","enum":["DEFAULT","CUSTOM"],"description":"- `DEFAULT`: static fields in the remote system.\n- `CUSTOM`: fields that are created/editable by the user."},"value":{"type":"null","description":"The field's value."},"label":{"type":["string","null"],"description":"The label of the field. (not always available)"}},"required":["id","key","type","label"]},"description":"An array of selected passthrough integration fields. [Read more](/integration-fields)","examples":[[{"id":"5NVFhMpB9Ah6by44tzNjZLyE","key":"firstName","type":"DEFAULT","value":"Frank","label":"First Name"},{"id":"8nuajYpoRd5GnxEQaaWKUDYQ","key":"customTshirtSize","type":"CUSTOM","value":"XL","label":"T-Shirt Size"}]]},"remote_url":{"type":["string","null"],"format":"uri","description":"URL to the application in the source ATS system. When embedding this in your system, please consider that not for all ATS a dedicated application URL is available, so you might need to fall back to the candidate URL."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_created_at":{"description":"The date and time the object was created in the remote system.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_updated_at":{"description":"A timestamp retrieved from the remote system, describing when the resource was last updated.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."},"candidate":{"type":["object","null"],"properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"first_name":{"type":["string","null"],"description":"First name of the candidate."},"last_name":{"type":["string","null"],"description":"Last name of the candidate."},"email_addresses":{"type":["array","null"],"items":{"type":"object","properties":{"email_address":{"type":["string","null"],"pattern":"^(?!\\.)(?!.*\\.\\.)([\\w'+-.]*)[\\w+-]@([\\da-z][\\da-z-]*\\.)+[a-z]{2,}$"},"type":{"type":["string","null"],"description":"Kombo exposes type information through this field. If we don't get any information from the tool, we will set this to `null`."}},"required":["type"]},"default":[],"description":"A list of email addresses of the candidate with an optional type. If an email address is invalid, it will be filtered out."},"phone_numbers":{"type":["array","null"],"items":{"type":"object","properties":{"phone_number":{"type":"string"},"type":{"type":["string","null"],"description":"Kombo exposes type information through this field. If we don't get any information from the tool, we will set this to `null`."}},"required":["phone_number"]},"default":[],"description":"A list of phone numbers of the candidate."},"social_media":{"type":["array","null"],"items":{"type":"object","properties":{"link":{"type":["string","null"]},"type":{"type":["string","null"]},"username":{"type":["string","null"]}}},"default":[],"description":"List of social media accounts of the candidate."},"source":{"type":["string","null"],"description":"The hiring source of the candidate. If you're a job board or recruiting service, you can use this to validate which candidates applied through your service and ensure that the correct referral compensation is paid out."},"remote_url":{"type":["string","null"],"format":"uri","description":"URL to the candidate profile in the source ATS system. When embedding this in your system, please consider that not for all ATS a dedicated candidate profile URL is available, so you might need to fall back to the application URL."},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":["string","null"]}},"required":["id","remote_id","name"],"examples":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","name":"High Potential"}]}}},"required":["id","remote_id","first_name","last_name","source","remote_url","tags"]},"current_stage":{"type":["object","null"],"properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":["string","null"],"description":"The application stage name. For example, \"Initial Screening\"."},"index":{"type":["integer","null"],"format":"int64","examples":[2]}},"required":["id","remote_id","name","index"]},"job":{"type":["object","null"],"properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":["string","null"],"description":"Title of the job."}},"required":["id","remote_id","name"],"examples":[{"id":"H5daSm8e85Dmvmne3wLeCPhX","remote_id":"32","name":"Backend Engineer"}]},"interviews":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"title":{"type":["string","null"],"description":"The title of the interview."},"starting_at":{"description":"The start time of the interview.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"ending_at":{"description":"The end time of the interview.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"location":{"type":["object","null"],"properties":{"city":{"type":["string","null"]},"country":{"type":["string","null"],"description":"Contains the ISO2 country code if possible. If not, it contains the original value."},"raw":{"type":["string","null"],"description":"If we have address data, this is filled with the raw address string."},"state":{"type":["string","null"]},"street_1":{"type":["string","null"],"description":"If we can parse the address data, this field contains the first part of the street information."},"street_2":{"type":["string","null"]},"zip_code":{"type":["string","null"]}},"description":"Location of the interview."},"canceled":{"type":["boolean","null"],"description":"Whether the interview was canceled or not. If we have no information, this field will be `null`."}},"required":["id","remote_id","title","starting_at","ending_at","canceled"],"examples":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","title":"Interview with John Doe","starting_at":"2023-06-26T14:30:00.000Z","ending_at":"2023-06-26T15:30:00.000Z","location":{"city":"Berlin","country":"DE","raw":"Berlin, Germany","state":"Berlin","street_1":"Lohmühlenstraße 65","street_2":null,"zip_code":"12435"},"canceled":false}]}},"offers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"status":{"type":["string","null"],"enum":["ACCEPTED","DECLINED","SENT","APPROVED","DRAFT","ABANDONED"],"description":"The offer’s current status. The usual flow of statuses is as follows:\n`DRAFT` -> `APPROVED` -> `SENT` -> `ACCEPTED` or `DECLINED`.\n\nPlease note that not all systems will expose all statuses. For example, most systems do not include the `APPROVED` status\n\n- `ACCEPTED`: The offer was accepted by the candidate.\n- `DECLINED`: The offer was declined by the candidate.\n- `SENT`: The offer was sent to the candidate.\n- `APPROVED`: The draft was approved.\n- `DRAFT`: The offer is a draft and has not yet been sent to the candidate.\n- `ABANDONED`: The offer has expired or is no longer valid and should not be considered.\n"}},"required":["id","remote_id","status"],"examples":[{"id":"76bab8LKuFtqpZ89mofCPMHX","remote_id":"6","status":"ACCEPTED"}]}}},"required":["id","remote_id","outcome","rejection_reason_name","rejected_at","current_stage_id","job_id","candidate_id","custom_fields","integration_fields","remote_url","changed_at","remote_deleted_at","remote_created_at","remote_updated_at","remote_data","candidate","current_stage","job","interviews","offers"]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"H77fDF8uvEzGNPRubiz5DvQ7","remote_id":"32","outcome":"HIRED","rejection_reason_name":null,"rejected_at":null,"current_stage_id":"5J7L4b48wBfffYwek9Az9pkM","job_id":"H5daSm8e85Dmvmne3wLeCPhX","candidate_id":"26vafvWSRmbhNcxJYqjCzuJg","screening_question_answers":[{"answer":{"choice":"TypeScript"},"question":{"remote_id":"48b4d36a-1d4b-4c50-ada7-9519078e65b4","title":"Which is your primary programming language","type":"SINGLE_SELECT"}}],"custom_fields":{},"integration_fields":[],"remote_url":"https://app.greenhouse.io/applications/32","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_created_at":"2022-08-07T14:01:29.196Z","remote_updated_at":"2022-08-07T14:01:29.196Z","remote_data":null,"candidate":{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","first_name":"John","last_name":"Doe","email_addresses":[{"email_address":"john.doe@example.com","type":"PRIVATE"}],"phone_numbers":[{"phone_number":"+1-541-754-3010","type":"HOME"}],"social_media":[{"link":"https://www.youtube.com/watch?v=dQw4w9WgXcQ","type":"YOUTUBE","username":null}],"source":"Employee Referral","remote_url":"https://app.greenhouse.io/people/32","tags":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","name":"High Potential"}]},"current_stage":{"id":"5J7L4b48wBfffYwek9Az9pkM","remote_id":"32","name":"Initial Screening","index":2},"job":{"id":"H5daSm8e85Dmvmne3wLeCPhX","remote_id":"32","name":"Backend Engineer"},"interviews":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","title":"Interview with John Doe","starting_at":"2023-06-26T14:30:00.000Z","ending_at":"2023-06-26T15:30:00.000Z","location":{"city":"Berlin","country":"DE","raw":"Berlin, Germany","state":"Berlin","street_1":"Lohmühlenstraße 65","street_2":null,"zip_code":"12435"},"canceled":false}],"offers":[{"id":"76bab8LKuFtqpZ89mofCPMHX","remote_id":"6","status":"ACCEPTED"}]}]}]}},"required":["status","data"]},"PutAtsApplicationsApplicationIdStageParameterApplicationId":{"type":"string","description":"The Kombo ID of the application you want to move to a different stage."},"PutAtsApplicationsApplicationIdStagePositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","examples":[{}]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PutAtsApplicationsApplicationIdStageRequestBody":{"type":"object","properties":{"stage_id":{"type":"string","description":"The Kombo ID of the stage to move the application to. This stage must be allowed for the job that the application is connected to. Get available stages from the `stages` property on the job, not from the deprecated application-stages endpoint."},"remote_fields":{"type":"object","properties":{"greenhouse":{"type":"object","properties":{"post_headers":{"type":"object","properties":{"On-Behalf-Of":{"type":["string","null"],"description":"ID of the the user that will show up as having performed the action in Greenhouse. We already pass a value by default, but you can use this to override it."}},"description":"Headers we will pass with `POST` requests to Greenhouse."}},"description":"Fields specific to Greenhouse."},"workable":{"type":"object","properties":{"on_behalf_of_user_remote_id":{"type":"string","description":"The remote ID of the user that will be displayed in the UI as the one that performed the action."}},"description":"Workable specific remote fields for ATS actions."}},"description":"Additional fields that we will pass through to specific ATS systems."}},"required":["stage_id"]},"PostAtsApplicationsApplicationIdResultLinksParameterApplicationId":{"type":"string","description":"The Kombo ID of the application you want to create the link for."},"PostAtsApplicationsApplicationIdResultLinksPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","examples":[{}]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PostAtsApplicationsApplicationIdResultLinksRequestBody":{"type":"object","properties":{"label":{"type":"string","description":"If we can display a display name for the link, we will use this label."},"url":{"type":"string","format":"uri","description":"URL of the link."},"details":{"type":"object","properties":{"custom_field_name_prefix":{"type":"string","description":"That will be added to the attribute labels if they are used for custom fields. If you specify `Acme:` as the prefix, the custom field will be named `Acme: Score`. Putting in the name of your company/product is a good idea."},"attributes":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"The name of the attribute"},"value":{"type":"string","description":"The value of the attribute"}},"required":["key","value"]}}},"required":["custom_field_name_prefix","attributes"],"description":"Additional details with attributes that will be added to the result. This can be percentages, scores, or any text.\n\nWe generally recommend using short attribute keys and a short custom_field_name_prefix to avoid overflowing the ATS UI."},"remote_fields":{"allOf":[{"type":"object","properties":{"icims":{"type":"object","properties":{"assessment_package_id":{"type":"string","description":"The package ID of the assessment that the result link will be added to."}},"description":"Fields specific to iCIMS."},"oracle":{"type":"object","properties":{"override_document_category":{"type":"string","enum":["IRC_CANDIDATE_RESUME","IRC_CANDIDATE_COVERLETTER","MISC","IRC_INTERNAL"],"description":"Allows you to override the document category for the url. (Default: MISC)"},"multi_post_to_all_current_applications":{"type":"boolean","description":"If true, the result link will be posted to all current applications for the candidate."}},"description":"Fields specific to Oracle."}},"description":"Additional fields that we will pass through to specific ATS systems."},{"type":"object","properties":{"greenhouse":{"type":"object","properties":{"post_headers":{"type":"object","properties":{"On-Behalf-Of":{"type":["string","null"],"description":"ID of the the user that will show up as having performed the action in Greenhouse. We already pass a value by default, but you can use this to override it."}},"description":"Headers we will pass with `POST` requests to Greenhouse."}},"description":"Fields specific to Greenhouse."},"workable":{"type":"object","properties":{"on_behalf_of_user_remote_id":{"type":"string","description":"The remote ID of the user that will be displayed in the UI as the one that performed the action."}},"description":"Workable specific remote fields for ATS actions."}},"description":"Additional fields that we will pass through to specific ATS systems."}],"description":"Additional fields that we will pass through to specific ATS systems."}},"required":["label","url"]},"PostAtsApplicationsApplicationIdNotesParameterApplicationId":{"type":"string","description":"The Kombo ID of the application you want to create the note for."},"PostAtsApplicationsApplicationIdNotesPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","examples":[{}]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PostAtsApplicationsApplicationIdNotesRequestBody":{"type":"object","properties":{"content":{"type":"string","description":"UTF-8 content of the note."},"content_type":{"type":"string","enum":["PLAIN_TEXT"],"description":"Content type of the note. Currently only `PLAIN_TEXT` is supported."},"remote_fields":{"allOf":[{"type":"object","properties":{"teamtailor":{"type":"object","properties":{"user_id":{"type":"string","description":"ID of the user that created the note. Defaults to the first admin user found."}},"description":"Teamtailor specific remote fields for the note."},"greenhouse":{"type":"object","properties":{"visibility":{"type":"string","enum":["admin_only","private","public"],"description":"Visibility of the created note."}},"description":"Greenhouse specific remote fields for the note."},"recruitee":{"type":"object","properties":{"visibility":{"description":"Visibility of the created note."},"is_json":{"type":"boolean","description":"Whether the note is in a stringified JSON format. If true, content should contain a valid JSON as per the [Recruitee API documentation](https://docs.recruitee.com/reference/candidatesidnotes) (body_json field). If false we add the note as a plain text."}},"description":"Recruitee specific remote fields for the note."},"bullhorn":{"type":"object","properties":{"action":{"type":"string","description":"The action (or type) associated with a Note. You can find all available note actions in a Bullhorn instance under System Settings > commentActionList. The default action is `Note`."}},"description":"Bullhorn specific remote fields for the note."}},"description":"Tool specific remote fields for the note."},{"type":"object","properties":{"greenhouse":{"type":"object","properties":{"post_headers":{"type":"object","properties":{"On-Behalf-Of":{"type":["string","null"],"description":"ID of the the user that will show up as having performed the action in Greenhouse. We already pass a value by default, but you can use this to override it."}},"description":"Headers we will pass with `POST` requests to Greenhouse."}},"description":"Fields specific to Greenhouse."},"workable":{"type":"object","properties":{"on_behalf_of_user_remote_id":{"type":"string","description":"The remote ID of the user that will be displayed in the UI as the one that performed the action."}},"description":"Workable specific remote fields for ATS actions."}},"description":"Additional fields that we will pass through to specific ATS systems."}],"description":"Tool specific remote fields for the note."}},"required":["content","content_type"]},"GetAtsApplicationsApplicationIdAttachmentsParameterApplicationId":{"type":"string","description":"The Kombo ID of the application you want to obtain attachments for."},"GetAtsApplicationsApplicationIdAttachmentsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["CV","COVER_LETTER","OTHER"]},"id":{"type":"string"},"remote_id":{"type":"string"},"data_url":{"type":"string"},"file_name":{"type":"string"},"content_type":{"type":"string"},"remote_created_at":{"description":"The date when the attachment was created.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_updated_at":{"description":"The date when the attachment was last updated.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}}},"required":["type","id","remote_id","data_url","file_name","content_type","remote_created_at","remote_updated_at"]}}},"required":["results"],"examples":[{"results":[{"type":"CV","id":"EYJjhMQT3LtVKXnTbnRT8s6U","remote_id":"GUzE666zfyjeoCJX6A8n7wh6","data_url":"https://resources.kombo.dev/7yZfKGzWigXxxRTygqAfHvyE","file_name":"Frank Doe CV.pdf","content_type":"application/x-pdf","remote_created_at":null,"remote_updated_at":null}]}]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PostAtsApplicationsApplicationIdAttachmentsParameterApplicationId":{"type":"string"},"PostAtsApplicationsApplicationIdAttachmentsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","examples":[{}]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PostAtsApplicationsApplicationIdAttachmentsRequestBody":{"type":"object","properties":{"attachment":{"type":"object","properties":{"name":{"type":"string","description":"File name of the file you want to upload. We recommend providing something human-readable with a valid file extension (like `Resume.pdf`), as this might be shown in your customer's system."},"content_type":{"type":"string","pattern":"^[\\w.-]+\\/[\\w.-]+$","description":"Content/MIME type of the file (e.g., `application/pdf`).\n\nIf you provide `data`, this is required. If you provide `data_url`, this is optional and we'll attempt to use the `Content-Type` header of the response.\n\n**Note:** Please validate that the content type you provide is actually meaningful (and not something generic like [`application/octet-stream`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/MIME_types#applicationoctet-stream)). Especially when using object storage (like AWS S3), it's easy to accidentally discard the content types of user-provided files, so make sure to explicitly persist them when processing uploads from your users (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html#SysMetadata), [Google Cloud](https://cloud.google.com/storage/docs/metadata#content-type), and [Azure](https://learn.microsoft.com/en-us/rest/api/storageservices/put-blob#request-headers-all-blob-types))."},"data_url":{"type":"string","format":"uri","description":"URL to the file you want to upload that can be accessed without authentication headers. We will download the content immediately when receiving the request, so the URL can be short-lived.\n\nIf you're using an object storage provider (like AWS S3), we strongly recommend providing a signed URL for secure access (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html), [Google Cloud](https://cloud.google.com/storage/docs/access-control/signed-urls), and [Azure](https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview)).\n\n**Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases."},"data":{"type":"string","description":"Base64-encoded contents of the file you want to upload.\n\n**Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases."},"type":{"type":"string","enum":["CV","COVER_LETTER","OTHER"],"description":"Type of the attachment in the ATS. This may affect where the uploaded file will be shown in your customer's system."}},"required":["name","type"]},"remote_fields":{"allOf":[{"type":"object","properties":{"oracle":{"type":"object","properties":{"override_document_category":{"type":"string","enum":["IRC_CANDIDATE_RESUME","IRC_CANDIDATE_COVERLETTER","MISC","IRC_INTERNAL"],"description":"Allows you to override the document category for the attachment."},"multi_post_to_all_current_applications":{"type":"boolean","description":"If true, the attachment will be posted to all current applications for the candidate."}},"description":"Oracle specific remote fields for the attachment."}}},{"type":"object","properties":{"greenhouse":{"type":"object","properties":{"post_headers":{"type":"object","properties":{"On-Behalf-Of":{"type":["string","null"],"description":"ID of the the user that will show up as having performed the action in Greenhouse. We already pass a value by default, but you can use this to override it."}},"description":"Headers we will pass with `POST` requests to Greenhouse."}},"description":"Fields specific to Greenhouse."},"workable":{"type":"object","properties":{"on_behalf_of_user_remote_id":{"type":"string","description":"The remote ID of the user that will be displayed in the UI as the one that performed the action."}},"description":"Workable specific remote fields for ATS actions."}},"description":"Additional fields that we will pass through to specific ATS systems."}]}},"required":["attachment"]},"PostAtsApplicationsApplicationIdRejectParameterApplicationId":{"type":"string","description":"The Kombo ID of the application you want to reject."},"PostAtsApplicationsApplicationIdRejectPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","examples":[{}]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PostAtsApplicationsApplicationIdRejectRequestBody":{"type":"object","properties":{"rejection_reason_id":{"type":"string","description":"The Kombo ID of the rejection reason."},"note":{"type":"string","description":"A optional free text rejection note. Passed through if possible."},"remote_fields":{"allOf":[{"type":"object","properties":{"greenhouse":{"type":"object","properties":{"rejection_email":{"type":"object","additionalProperties":true,"description":"Additional data fields that we will pass through to the `rejection_email` field of Greenhouse's [reject application](https://developers.greenhouse.io/harvest.html#post-reject-application) endpoint."}},"description":"Fields specific to Greenhouse."}},"description":"Additional fields that we will pass through to specific ATS systems."},{"type":"object","properties":{"greenhouse":{"type":"object","properties":{"post_headers":{"type":"object","properties":{"On-Behalf-Of":{"type":["string","null"],"description":"ID of the the user that will show up as having performed the action in Greenhouse. We already pass a value by default, but you can use this to override it."}},"description":"Headers we will pass with `POST` requests to Greenhouse."}},"description":"Fields specific to Greenhouse."},"workable":{"type":"object","properties":{"on_behalf_of_user_remote_id":{"type":"string","description":"The remote ID of the user that will be displayed in the UI as the one that performed the action."}},"description":"Workable specific remote fields for ATS actions."}},"description":"Additional fields that we will pass through to specific ATS systems."}],"description":"Additional fields that we will pass through to specific ATS systems."}},"required":["rejection_reason_id"]},"PostAtsApplicationsApplicationIdInterviewsParameterApplicationId":{"type":"string","description":"The ID of the application"},"PostAtsApplicationsApplicationIdInterviewsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object"}},"required":["status","data"]},"PostAtsApplicationsApplicationIdInterviewsRequestBody":{"type":"object","properties":{"title":{"type":"string","description":"The title of the interview"},"start_time":{"type":"string","description":"The start time of the interview"},"end_time":{"type":"string","description":"The end time of the interview"},"interviewer_user_ids":{"type":"array","items":{"type":"string"},"description":"The IDs of the interviewers"},"organizer_user_id":{"type":"string","description":"The ID of the organizer"},"location":{"type":"object","properties":{"type":{"type":"string","enum":["PHYSICAL","VIRTUAL"]},"address":{"type":"string","description":"The address of the interview"}},"required":["type"]}},"required":["title","start_time","end_time","interviewer_user_ids","organizer_user_id","location"]},"PatchAtsApplicationsApplicationIdInterviewsParameterApplicationId":{"type":"string","description":"The ID of the application"},"PatchAtsApplicationsApplicationIdInterviewsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object"}},"required":["status","data"]},"PatchAtsApplicationsApplicationIdInterviewsRequestBody":{"type":"object","properties":{"interview_id":{"type":"string","description":"The ID of the interview"},"title":{"type":"string","description":"The title of the interview"},"start_time":{"type":"string","description":"The start time of the interview"},"end_time":{"type":"string","description":"The end time of the interview"},"interviewer_user_ids":{"type":"array","items":{"type":"string"},"description":"The IDs of the interviewers"},"organizer_user_id":{"type":"string","description":"The ID of the organizer"},"location":{"type":"object","properties":{"type":{"type":"string","enum":["PHYSICAL","VIRTUAL"]},"address":{"type":"string"}},"required":["type"]}},"required":["interview_id","title","start_time","end_time","interviewer_user_ids","organizer_user_id","location"]},"GetAtsCandidatesParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetAtsCandidatesParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetAtsCandidatesParameterUpdatedAfter":{"description":"Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged.\n\nIf you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden.\n\nFor more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetAtsCandidatesParameterIncludeDeleted":{"type":"string","enum":["true","false"],"default":"false","description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too."},"GetAtsCandidatesParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetAtsCandidatesParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetAtsCandidatesParameterEmail":{"type":"string","description":"Filter the candidates based on an email address. When set, returns only the candidates where the given `email` is in `email_addresses`. This filter is case-insensitive.","format":"email"},"GetAtsCandidatesParameterJobIds":{"type":"string","description":"Filter by a comma-separated list of job IDs. We will only return candidates that have applied to _any_ of the jobs."},"GetAtsCandidatesParameterFirstName":{"type":"string","description":"Filter candidates by first name. This filter is case-insensitive and matches the exact first name. Fuzzy matching might be enabled in the future, so consider this for your implementation."},"GetAtsCandidatesParameterLastName":{"type":"string","description":"Filter candidates by last name. This filter is case-insensitive and matches the exact last name. Fuzzy matching might be enabled in the future, so consider this for your implementation."},"GetAtsCandidatesPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"first_name":{"type":["string","null"],"description":"First name of the candidate."},"last_name":{"type":["string","null"],"description":"Last name of the candidate."},"company":{"type":["string","null"],"description":"The current company of the candidate."},"title":{"type":["string","null"],"description":"The current job title of the candidate."},"confidential":{"type":["boolean","null"],"description":"Whether the candidate’s profile is confidential in the ATS."},"source":{"type":["string","null"],"description":"The hiring source of the candidate. If you're a job board or recruiting service, you can use this to validate which candidates applied through your service and ensure that the correct referral compensation is paid out."},"phone_numbers":{"type":["array","null"],"items":{"type":"object","properties":{"phone_number":{"type":"string"},"type":{"type":["string","null"],"description":"Kombo exposes type information through this field. If we don't get any information from the tool, we will set this to `null`."}},"required":["phone_number"]},"default":[],"description":"A list of phone numbers of the candidate."},"email_addresses":{"type":["array","null"],"items":{"type":"object","properties":{"email_address":{"type":["string","null"],"pattern":"^(?!\\.)(?!.*\\.\\.)([\\w'+-.]*)[\\w+-]@([\\da-z][\\da-z-]*\\.)+[a-z]{2,}$"},"type":{"type":["string","null"],"description":"Kombo exposes type information through this field. If we don't get any information from the tool, we will set this to `null`."}},"required":["type"]},"default":[],"description":"A list of email addresses of the candidate with an optional type. If an email address is invalid, it will be filtered out."},"social_media":{"type":["array","null"],"items":{"type":"object","properties":{"link":{"type":["string","null"]},"type":{"type":["string","null"]},"username":{"type":["string","null"]}}},"default":[],"description":"List of social media accounts of the candidate."},"location":{"type":["object","null"],"properties":{"city":{"type":["string","null"]},"country":{"type":["string","null"],"description":"Contains the ISO2 country code if possible. If not, it contains the original value."},"raw":{"type":["string","null"],"description":"If we have address data, this is filled with the raw address string."},"state":{"type":["string","null"]},"street_1":{"type":["string","null"],"description":"If we can parse the address data, this field contains the first part of the street information."},"street_2":{"type":["string","null"]},"zip_code":{"type":["string","null"]}},"description":"Location of the candidate."},"custom_fields":{"type":["object","null"],"additionalProperties":true,"description":"A key-value store of fields not covered by the schema. [Read more](/custom-fields)"},"integration_fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object."},"key":{"type":"string","description":"The key of the field in the remote system."},"type":{"type":"string","enum":["DEFAULT","CUSTOM"],"description":"- `DEFAULT`: static fields in the remote system.\n- `CUSTOM`: fields that are created/editable by the user."},"value":{"type":"null","description":"The field's value."},"label":{"type":["string","null"],"description":"The label of the field. (not always available)"}},"required":["id","key","type","label"]},"description":"An array of selected passthrough integration fields. [Read more](/integration-fields)","examples":[[{"id":"5NVFhMpB9Ah6by44tzNjZLyE","key":"firstName","type":"DEFAULT","value":"Frank","label":"First Name"},{"id":"8nuajYpoRd5GnxEQaaWKUDYQ","key":"customTshirtSize","type":"CUSTOM","value":"XL","label":"T-Shirt Size"}]]},"remote_url":{"type":["string","null"],"format":"uri","description":"URL to the candidate profile in the source ATS system. When embedding this in your system, please consider that not for all ATS a dedicated candidate profile URL is available, so you might need to fall back to the application URL."},"remote_created_at":{"description":"The date and time the object was created in the remote system.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_updated_at":{"description":"A timestamp retrieved from the remote system, describing when the resource was last updated.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"applications":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"outcome":{"type":["string","null"],"enum":["PENDING","HIRED","DECLINED"],"description":"Parsed status of the application. If Kombo identifies that the application was accepted and the candidate hired, it will be `HIRED`. If the application was rejected or the candidate declined, it will be `DECLINED`. If the application is still in process, it will be `PENDING`.\nKombo will always try to deliver this information as reliably as possible."},"rejection_reason_name":{"type":["string","null"],"description":"Reason for the rejection of the candidate."},"rejected_at":{"description":"The time that the application was rejected.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_url":{"type":["string","null"],"format":"uri","description":"URL to the application in the source ATS system. When embedding this in your system, please consider that not for all ATS a dedicated application URL is available, so you might need to fall back to the candidate URL."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_created_at":{"description":"The date and time the object was created in the remote system.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_updated_at":{"description":"A timestamp retrieved from the remote system, describing when the resource was last updated.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"current_stage":{"type":["object","null"],"properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"name":{"type":["string","null"],"description":"The application stage name. For example, \"Initial Screening\"."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"index":{"type":["integer","null"],"format":"int64","examples":[2]}},"required":["id","name","remote_id","index"]},"job":{"type":["object","null"],"properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"name":{"type":["string","null"],"description":"Title of the job."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."}},"required":["id","name","remote_id"],"examples":[{"id":"H5daSm8e85Dmvmne3wLeCPhX","name":"Backend Engineer","remote_id":"32"}]}},"required":["id","remote_id","outcome","rejection_reason_name","rejected_at","remote_url","changed_at","remote_created_at","remote_updated_at","current_stage","job"]}},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"name":{"type":["string","null"]},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."}},"required":["id","name","remote_id"],"examples":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","name":"High Potential","remote_id":"32"}]}}},"required":["id","remote_id","first_name","last_name","company","title","confidential","source","custom_fields","integration_fields","remote_url","remote_created_at","remote_updated_at","remote_data","changed_at","remote_deleted_at","applications","tags"],"examples":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","first_name":"John","last_name":"Doe","company":"Acme, Inc.","title":"Head of Marketing","confidential":false,"source":"Employee Referral","phone_numbers":[{"phone_number":"+1-541-754-3010","type":"HOME"}],"email_addresses":[{"email_address":"john.doe@example.com","type":"PRIVATE"}],"social_media":[{"link":"https://www.youtube.com/watch?v=dQw4w9WgXcQ","type":"YOUTUBE","username":null}],"location":{"city":"Berlin","country":"DE","raw":"Berlin, Germany","state":"Berlin","street_1":"Lohmühlenstraße 65","street_2":null,"zip_code":"12435"},"custom_fields":{},"integration_fields":[],"remote_url":"https://app.greenhouse.io/people/32","remote_created_at":"2022-04-02T00:00:00.000Z","remote_updated_at":"2022-04-04T00:00:00.000Z","remote_data":null,"changed_at":"2022-04-04T00:00:00.000Z","remote_deleted_at":null,"applications":[{"id":"H77fDF8uvEzGNPRubiz5DvQ7","remote_id":"32","outcome":"HIRED","rejection_reason_name":null,"rejected_at":null,"remote_url":"https://app.greenhouse.io/applications/32","changed_at":"2022-04-04T00:00:00.000Z","remote_created_at":"2022-04-02T00:00:00.000Z","remote_updated_at":"2022-04-04T00:00:00.000Z","current_stage":{"id":"5J7L4b48wBfffYwek9Az9pkM","name":"Initial Screening","remote_id":"32","index":2},"job":{"id":"H5daSm8e85Dmvmne3wLeCPhX","name":"Backend Engineer","remote_id":"32"}}],"tags":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","name":"High Potential","remote_id":"32"}]}]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","first_name":"John","last_name":"Doe","company":"Acme, Inc.","title":"Head of Marketing","confidential":false,"source":"Employee Referral","phone_numbers":[{"phone_number":"+1-541-754-3010","type":"HOME"}],"email_addresses":[{"email_address":"john.doe@example.com","type":"PRIVATE"}],"social_media":[{"link":"https://www.youtube.com/watch?v=dQw4w9WgXcQ","type":"YOUTUBE","username":null}],"location":{"city":"Berlin","country":"DE","raw":"Berlin, Germany","state":"Berlin","street_1":"Lohmühlenstraße 65","street_2":null,"zip_code":"12435"},"custom_fields":{},"integration_fields":[],"remote_url":"https://app.greenhouse.io/people/32","remote_created_at":"2022-04-02T00:00:00.000Z","remote_updated_at":"2022-04-04T00:00:00.000Z","remote_data":null,"changed_at":"2022-04-04T00:00:00.000Z","remote_deleted_at":null,"applications":[{"id":"H77fDF8uvEzGNPRubiz5DvQ7","remote_id":"32","outcome":"HIRED","rejection_reason_name":null,"rejected_at":null,"remote_url":"https://app.greenhouse.io/applications/32","changed_at":"2022-08-07T14:01:29.196Z","remote_created_at":"2022-08-07T14:01:29.196Z","remote_updated_at":"2022-08-07T14:01:29.196Z","current_stage":{"id":"5J7L4b48wBfffYwek9Az9pkM","name":"Initial Screening","remote_id":"32","index":2},"job":{"id":"H5daSm8e85Dmvmne3wLeCPhX","name":"Backend Engineer","remote_id":"32"}}],"tags":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","name":"High Potential","remote_id":"32"}]}]}]}},"required":["status","data"]},"PostAtsCandidatesPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"first_name":{"type":["string","null"],"description":"First name of the candidate."},"last_name":{"type":["string","null"],"description":"Last name of the candidate."},"company":{"type":["string","null"],"description":"The current company of the candidate."},"title":{"type":["string","null"],"description":"The current job title of the candidate."},"confidential":{"type":["boolean","null"],"description":"Whether the candidate’s profile is confidential in the ATS."},"source":{"type":["string","null"],"description":"The hiring source of the candidate. If you're a job board or recruiting service, you can use this to validate which candidates applied through your service and ensure that the correct referral compensation is paid out."},"phone_numbers":{"type":["array","null"],"items":{"type":"object","properties":{"phone_number":{"type":"string"},"type":{"type":["string","null"],"description":"Kombo exposes type information through this field. If we don't get any information from the tool, we will set this to `null`."}},"required":["phone_number"]},"default":[],"description":"A list of phone numbers of the candidate."},"email_addresses":{"type":["array","null"],"items":{"type":"object","properties":{"email_address":{"type":["string","null"],"pattern":"^(?!\\.)(?!.*\\.\\.)([\\w'+-.]*)[\\w+-]@([\\da-z][\\da-z-]*\\.)+[a-z]{2,}$"},"type":{"type":["string","null"],"description":"Kombo exposes type information through this field. If we don't get any information from the tool, we will set this to `null`."}},"required":["type"]},"default":[],"description":"A list of email addresses of the candidate with an optional type. If an email address is invalid, it will be filtered out."},"social_media":{"type":["array","null"],"items":{"type":"object","properties":{"link":{"type":["string","null"]},"type":{"type":["string","null"]},"username":{"type":["string","null"]}}},"default":[],"description":"List of social media accounts of the candidate."},"location":{"type":["object","null"],"properties":{"city":{"type":["string","null"]},"country":{"type":["string","null"],"description":"Contains the ISO2 country code if possible. If not, it contains the original value."},"raw":{"type":["string","null"],"description":"If we have address data, this is filled with the raw address string."},"state":{"type":["string","null"]},"street_1":{"type":["string","null"],"description":"If we can parse the address data, this field contains the first part of the street information."},"street_2":{"type":["string","null"]},"zip_code":{"type":["string","null"]}},"description":"Location of the candidate."},"custom_fields":{"type":["object","null"],"additionalProperties":true,"description":"A key-value store of fields not covered by the schema. [Read more](/custom-fields)"},"integration_fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object."},"key":{"type":"string","description":"The key of the field in the remote system."},"type":{"type":"string","enum":["DEFAULT","CUSTOM"],"description":"- `DEFAULT`: static fields in the remote system.\n- `CUSTOM`: fields that are created/editable by the user."},"value":{"type":"null","description":"The field's value."},"label":{"type":["string","null"],"description":"The label of the field. (not always available)"}},"required":["id","key","type","label"]},"description":"An array of selected passthrough integration fields. [Read more](/integration-fields)","examples":[[{"id":"5NVFhMpB9Ah6by44tzNjZLyE","key":"firstName","type":"DEFAULT","value":"Frank","label":"First Name"},{"id":"8nuajYpoRd5GnxEQaaWKUDYQ","key":"customTshirtSize","type":"CUSTOM","value":"XL","label":"T-Shirt Size"}]]},"remote_url":{"type":["string","null"],"format":"uri","description":"URL to the candidate profile in the source ATS system. When embedding this in your system, please consider that not for all ATS a dedicated candidate profile URL is available, so you might need to fall back to the application URL."},"remote_created_at":{"description":"The date and time the object was created in the remote system.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_updated_at":{"description":"A timestamp retrieved from the remote system, describing when the resource was last updated.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"applications":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"outcome":{"type":["string","null"],"enum":["PENDING","HIRED","DECLINED"],"description":"Parsed status of the application. If Kombo identifies that the application was accepted and the candidate hired, it will be `HIRED`. If the application was rejected or the candidate declined, it will be `DECLINED`. If the application is still in process, it will be `PENDING`.\nKombo will always try to deliver this information as reliably as possible."},"rejection_reason_name":{"type":["string","null"],"description":"Reason for the rejection of the candidate."},"rejected_at":{"description":"The time that the application was rejected.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_url":{"type":["string","null"],"format":"uri","description":"URL to the application in the source ATS system. When embedding this in your system, please consider that not for all ATS a dedicated application URL is available, so you might need to fall back to the candidate URL."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_created_at":{"description":"The date and time the object was created in the remote system.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_updated_at":{"description":"A timestamp retrieved from the remote system, describing when the resource was last updated.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"current_stage":{"type":["object","null"],"properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"name":{"type":["string","null"],"description":"The application stage name. For example, \"Initial Screening\"."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"index":{"type":["integer","null"],"format":"int64","examples":[2]}},"required":["id","name","remote_id","index"]},"job":{"type":["object","null"],"properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"name":{"type":["string","null"],"description":"Title of the job."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."}},"required":["id","name","remote_id"],"examples":[{"id":"H5daSm8e85Dmvmne3wLeCPhX","name":"Backend Engineer","remote_id":"32"}]}},"required":["id","remote_id","outcome","rejection_reason_name","rejected_at","remote_url","changed_at","remote_created_at","remote_updated_at","current_stage","job"]}},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"name":{"type":["string","null"]},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."}},"required":["id","name","remote_id"],"examples":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","name":"High Potential","remote_id":"32"}]}}},"required":["id","remote_id","first_name","last_name","company","title","confidential","source","custom_fields","integration_fields","remote_url","remote_created_at","remote_updated_at","remote_data","changed_at","remote_deleted_at","applications","tags"],"examples":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","first_name":"John","last_name":"Doe","company":"Acme, Inc.","title":"Head of Marketing","confidential":false,"source":"Employee Referral","phone_numbers":[{"phone_number":"+1-541-754-3010","type":"HOME"}],"email_addresses":[{"email_address":"john.doe@example.com","type":"PRIVATE"}],"social_media":[{"link":"https://www.youtube.com/watch?v=dQw4w9WgXcQ","type":"YOUTUBE","username":null}],"location":{"city":"Berlin","country":"DE","raw":"Berlin, Germany","state":"Berlin","street_1":"Lohmühlenstraße 65","street_2":null,"zip_code":"12435"},"custom_fields":{},"integration_fields":[],"remote_url":"https://app.greenhouse.io/people/32","remote_created_at":"2022-04-02T00:00:00.000Z","remote_updated_at":"2022-04-04T00:00:00.000Z","remote_data":null,"changed_at":"2022-04-04T00:00:00.000Z","remote_deleted_at":null,"applications":[{"id":"H77fDF8uvEzGNPRubiz5DvQ7","remote_id":"32","outcome":"HIRED","rejection_reason_name":null,"rejected_at":null,"remote_url":"https://app.greenhouse.io/applications/32","changed_at":"2022-04-04T00:00:00.000Z","remote_created_at":"2022-04-02T00:00:00.000Z","remote_updated_at":"2022-04-04T00:00:00.000Z","current_stage":{"id":"5J7L4b48wBfffYwek9Az9pkM","name":"Initial Screening","remote_id":"32","index":2},"job":{"id":"H5daSm8e85Dmvmne3wLeCPhX","name":"Backend Engineer","remote_id":"32"}}],"tags":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","name":"High Potential","remote_id":"32"}]}]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PostAtsCandidatesRequestBody":{"type":"object","properties":{"candidate":{"type":"object","properties":{"first_name":{"type":"string","description":"The first name of the candidate."},"last_name":{"type":"string","description":"The last name of the candidate."},"email_address":{"type":"string","description":"The primary email address this application will be created with.","format":"email"},"additional_email_addresses":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["PERSONAL","WORK","OTHER"]},"email_address":{"type":"string","format":"email"}},"required":["type","email_address"]}},"company":{"type":"string","description":"The company where the candidate is currently working."},"title":{"type":"string","description":"The current job title of the candidate."},"phone_number":{"type":"string","description":"The phone number of the candidate."},"additional_phone_numbers":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["PERSONAL","WORK","OTHER"]},"phone_number":{"type":"string"}},"required":["type","phone_number"]}},"location":{"type":"object","properties":{"city":{"type":"string"},"country":{"type":"string","pattern":"^[A-Z]{2}$","description":"The uppercase two-letter ISO country (e.g., `DE`). For systems that use codes in formats other than `ISO 3166-1 alpha-2`, Kombo transforms the ISO Codes to the appropriate value."},"state":{"type":"string"},"zip_code":{"type":"string"}},"required":["country"],"description":"The location of the candidate."},"gender":{"type":"string","enum":["MALE","FEMALE","OTHER"],"description":"The gender of the candidate. Must be one of `MALE`, `FEMALE`, or `OTHER`."},"availability_date":{"description":"The date the candidate is available to start working.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"salary_expectations":{"type":"object","properties":{"period":{"type":"string","enum":["MONTH","YEAR"],"description":"The period of the salary expectations. Must be one of `MONTH` or `YEAR`."},"amount":{"type":"number","format":"double","minimum":-1.7976931348623157e+308,"description":"The amount of the salary expectations."}},"required":["period","amount"],"description":"The salary expectations of the applicant. We will automatically convert the amount to a format that is suitable for the ATS you are using. For example, if you are using monthly salary expectations, we will convert the amount to a yearly salary if the ATS expects yearly salary expectations."},"social_links":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri"}},"required":["url"]},"default":[],"description":"A list of social media links of the candidate. The links must be valid URLs."}},"required":["first_name","last_name","email_address"]},"application":{"type":"object","properties":{"job_id":{"type":"string","description":"The Kombo ID or Remote ID of the Job this candidate should apply to. If you want to use the ID of the integrated system (remote_id) you need to prefix the ID with \"remote:\". You can use the remote ID if you do not want to sync jobs."},"stage_id":{"type":"string","description":"Stage this candidate should be in. If left out, the default stage for this job will be used."}},"required":["job_id"],"description":"Currently, every candidate has one application. If you are interested in talent pools, please contact Kombo."},"screening_question_answers":{"type":"array","items":{"type":"object","properties":{"question_id":{"type":"string","description":"ID of the question returned by the Kombo API. We'll report a warning in the logs if the question can't be found on the job."},"answer":{"anyOf":[{"type":"string","description":"Answer to a `TEXT` question or the option ID of the answer to a `SINGLE_SELECT` question."},{"type":"boolean","description":"Answer to a `BOOLEAN` question."},{"type":"number","format":"double","minimum":-1.7976931348623157e+308,"description":"Answer to a `NUMBER` question."},{"type":"array","items":{"type":"string"},"description":"Answer to a `MULTI_SELECT` question. The array elements are the IDs of the selected options."},{"description":"Answer to a `DATE` question as an ISO 8601 date string.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},{"type":"object","properties":{"name":{"type":"string","description":"File name of the file you want to upload. We recommend providing something human-readable with a valid file extension (like `Resume.pdf`), as this might be shown in your customer's system."},"content_type":{"type":"string","pattern":"^[\\w.-]+\\/[\\w.-]+$","description":"Content/MIME type of the file (e.g., `application/pdf`).\n\nIf you provide `data`, this is required. If you provide `data_url`, this is optional and we'll attempt to use the `Content-Type` header of the response.\n\n**Note:** Please validate that the content type you provide is actually meaningful (and not something generic like [`application/octet-stream`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/MIME_types#applicationoctet-stream)). Especially when using object storage (like AWS S3), it's easy to accidentally discard the content types of user-provided files, so make sure to explicitly persist them when processing uploads from your users (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html#SysMetadata), [Google Cloud](https://cloud.google.com/storage/docs/metadata#content-type), and [Azure](https://learn.microsoft.com/en-us/rest/api/storageservices/put-blob#request-headers-all-blob-types))."},"data_url":{"type":"string","format":"uri","description":"URL to the file you want to upload that can be accessed without authentication headers. We will download the content immediately when receiving the request, so the URL can be short-lived.\n\nIf you're using an object storage provider (like AWS S3), we strongly recommend providing a signed URL for secure access (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html), [Google Cloud](https://cloud.google.com/storage/docs/access-control/signed-urls), and [Azure](https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview)).\n\n**Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases."},"data":{"type":"string","description":"Base64-encoded contents of the file you want to upload.\n\n**Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases."}},"required":["name"],"description":"Answer to a `FILE` question."}],"description":"Answer to a question. This will be validated based on the question format and throw an error if the answer is invalid. Here is a description of each question type and the required answer format:\n\n`TEXT` - Simply provide a \"string\" answer.\n\n`SINGLE_SELECT` - Provide the ID of the answer as a string.\n\n`MULTI_SELECT` - Provide a string array containing the question IDs of the selected options.\n\n`BOOLEAN` - Either `true` or `false`.\n\n`NUMBER` - A number.\n\n`DATE` - Provide the answer as an ISO 8601 date string.\n\n`FILE` - Please select Option 6 in the dropdown above to see the required format."}},"required":["question_id","answer"]},"description":"Array of answers to screening questions. Currently, not all question types are supported, and unsupported ones will not be submitted.\n\nThe available questions for a job can be retrieved from the get jobs endpoint. The answers will be validated based on the format of the questions. Make sure to follow this schema to avoid errors.","examples":[[{"question_id":"D8yPrjXXvA2XeBksTmrVvKSn","answer":"Yes"}]]},"attachments":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"File name of the file you want to upload. We recommend providing something human-readable with a valid file extension (like `Resume.pdf`), as this might be shown in your customer's system."},"content_type":{"type":"string","pattern":"^[\\w.-]+\\/[\\w.-]+$","description":"Content/MIME type of the file (e.g., `application/pdf`).\n\nIf you provide `data`, this is required. If you provide `data_url`, this is optional and we'll attempt to use the `Content-Type` header of the response.\n\n**Note:** Please validate that the content type you provide is actually meaningful (and not something generic like [`application/octet-stream`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/MIME_types#applicationoctet-stream)). Especially when using object storage (like AWS S3), it's easy to accidentally discard the content types of user-provided files, so make sure to explicitly persist them when processing uploads from your users (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html#SysMetadata), [Google Cloud](https://cloud.google.com/storage/docs/metadata#content-type), and [Azure](https://learn.microsoft.com/en-us/rest/api/storageservices/put-blob#request-headers-all-blob-types))."},"data_url":{"type":"string","format":"uri","description":"URL to the file you want to upload that can be accessed without authentication headers. We will download the content immediately when receiving the request, so the URL can be short-lived.\n\nIf you're using an object storage provider (like AWS S3), we strongly recommend providing a signed URL for secure access (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html), [Google Cloud](https://cloud.google.com/storage/docs/access-control/signed-urls), and [Azure](https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview)).\n\n**Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases."},"data":{"type":"string","description":"Base64-encoded contents of the file you want to upload.\n\n**Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases."},"type":{"type":"string","enum":["CV","COVER_LETTER","OTHER"],"description":"Type of the attachment in the ATS. This may affect where the uploaded file will be shown in your customer's system."}},"required":["name","type"]},"default":[],"description":"An array of the attachments you would like upload."},"source":{"type":"object","properties":{"name":{"type":"string","description":"Name of the source (e.g., `\"Example Job Board\"`)."},"unified_key":{"type":"string"},"id":{"type":"string"}},"description":"**(⚠️ Deprecated - Use [automatic source writing](/ats/features/application-attribution#automatic-attribution) instead)** Optional source information that will be attached to the candidate. If\nyou're a job board or recruiting service, you can use this to make sure your\ncustomers can see which candidates came from you.\n\nThis is deprecated because writing sources requires users to do some setup in most ATSs."},"sourced_by":{"type":"object","properties":{"user_id":{"type":"string","description":"The Kombo ID or Remote ID of the User. Use the Kombo ID directly, or prefix the remote ID with \"remote:\" to reference the user by their ID in the remote system."}},"required":["user_id"],"description":"Credit the recruiter or team member who sourced this candidate.\n\nWhile the `source` field tracks the channel/platform (e.g., \"Awesome Jobboard\"), the `sourced_by` field tracks the individual person responsible for finding the candidate."},"gdpr_consent":{"type":"object","properties":{"expires_at":{"description":"Until when the candidate has granted the company they're applying to permission to process their personal data.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"given":{"type":"boolean","description":"Whether the candidate has given consent."}},"description":"Optional GDPR consent information required in some jurisdictions (like the Czech Republic or Slovakia)."},"remote_fields":{"allOf":[{"type":"object","properties":{"successfactors":{"type":"object","properties":{"Candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to SuccessFactor's `Candidate` object."},"JobApplication":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to SuccessFactor's `JobApplication` object."},"copyJobApplicationAttachments":{"type":"boolean","description":"If set to true, we will copy custom attachments from the JobApplication to the Candidate."},"update_existing_candidate":{"type":["boolean","null"],"description":"When the candidate already exists, whether to update the Candidate with the remote fields found under the Candidate entity."}},"description":"Fields specific to SAP SuccessFactors."},"personio":{"type":"object","properties":{"application":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Personio's `application` object."}},"description":"Fields specific to Personio."},"talentsoft":{"type":"object","properties":{"applicant":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to TalentSoft's `applicant` object."},"application":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to TalentSoft's `application` object."}},"description":"Fields specific to TalentSoft."},"teamtailor":{"type":"object","properties":{"candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Teamtailor's `Candidate` object."},"application":{"type":"object","properties":{"attributes":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Teamtailor's attributes section `Job application` object."}}}}},"greenhouse":{"type":"object","properties":{"candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Greenhouse's `Candidate` object."},"application":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Greenhouse's `Application` object."}},"description":"Fields specific to Greenhouse."},"lever":{"type":"object","properties":{"candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Lever's `Candidate` object. Note: make sure to submit the keys and values in the correct form data format."}},"description":"Fields specific to Lever."},"workable":{"type":"object","properties":{"candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Workable's `Candidate` object."}},"description":"Fields specific to Workable."},"workday":{"type":"object","properties":{"Candidate_Data":{"type":"object","properties":{"Name_Detail_Data":{"type":"object","properties":{"Middle_Name":{"type":"string","description":"The candidate's middle name"},"Social_Suffix_Reference":{"type":"object","properties":{"Predefined_Name_Component_ID":{"type":"string"}},"required":["Predefined_Name_Component_ID"],"description":"The WID of the social suffix reference for the candidate"}}},"Language_Reference":{"type":"object","properties":{"WID":{"type":"string"}},"required":["WID"],"description":"Used to set the candidate's primary language"},"Job_Application_Data":{"type":"object","properties":{"Job_Applied_To_Data":{"type":"object","properties":{"Global_Personal_Information_Data":{"type":"object","properties":{"Date_of_Birth":{"type":"string"}}}}},"Resume_Data":{"type":"object","properties":{"Education_Data":{"type":"array","items":{"type":"object","properties":{"School_Name":{"type":"string"},"First_Year_Attended":{"type":"number","format":"double","minimum":-1.7976931348623157e+308},"Last_Year_Attended":{"type":"number","format":"double","minimum":-1.7976931348623157e+308},"Field_of_Study_Reference":{"type":"object","properties":{"WID":{"type":"string"}},"required":["WID"]},"Degree_Reference":{"type":"object","properties":{"WID":{"type":"string"}},"required":["WID"]},"Grade_Average":{"type":"string"}}}},"Skill_Data":{"type":"array","items":{"type":"object","properties":{"Skill_Name":{"type":"string"}}}},"Language_Data":{"type":"array","items":{"type":"object","properties":{"Language_Reference":{"type":"object","properties":{"WID":{"type":"string"}}},"Language":{"type":"object","properties":{"Native":{"type":"boolean"},"Language_Ability":{"type":"array","items":{"type":"object","properties":{"Language_Ability_Data":{"type":"object","properties":{"Language_Proficiency_Reference":{"type":"object","properties":{"WID":{"type":"string"}},"required":["WID"]},"Language_Ability_Type_Reference":{"type":"object","properties":{"WID":{"type":"string"}},"required":["WID"]}}}}}}},"required":["Language_Ability"]}}}},"Experience_Data":{"type":"array","items":{"type":"object","properties":{"Company_Name":{"type":"string"},"Title":{"type":"string"},"Location":{"type":"string"},"Start_Date":{"description":"YYYY-MM-DDTHH:mm:ss.sssZ","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"End_Date":{"description":"YYYY-MM-DDTHH:mm:ss.sssZ","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"Currently_Work_Here":{"type":"boolean"},"Description":{"type":"string"}},"required":["Company_Name","Title","Start_Date"]}}}}}},"Contact_Data":{"type":"object","properties":{"Location_Data":{"type":"object","properties":{"Address_Line_1":{"type":"string"},"Address_Line_2":{"type":"string"},"Region_Subdivision_1":{"type":"string"},"Country_Region_Reference":{"type":"object","properties":{"Country_Region_ID":{"type":"string"}},"required":["Country_Region_ID"]},"Country_City_Reference":{"type":"object","properties":{"WID":{"type":"string"}},"required":["WID"]}}}}},"Worker_Reference":{"type":"object","properties":{"WID":{"type":"string"},"Employee_ID":{"type":"string"}},"description":"Reference to the Worker (employee) to link the candidate to. Provide either WID or Employee_ID."}}},"Override_Source_Reference_WID":{"type":"string","description":"Used to override the automatic source WID."}},"description":"Fields specific to Workday. The remote fields schema follows the documentation at https://community.workday.com/sites/default/files/file-hosting/productionapi/Recruiting/v43.0/Put_Candidate.html. Only defined fields are supported, if you need additional field support please reach out to Kombo support."},"zohorecruit":{"type":"object","properties":{"candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Zoho Recruit's `Candidate` object."}},"description":"Fields specific to Zoho Recruit."},"bullhorn":{"type":"object","properties":{"candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Bullhorn's `Candidate` object."},"job_submission":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Bullhorn's `JobSubmission` object."}},"description":"Fields specific to Bullhorn."},"smartrecruiters":{"type":"object","properties":{"candidate_with_questions":{"type":"object","additionalProperties":true,"description":"**(⚠️ Deprecated - Use the `candidate` field instead.)** Fields that we will pass through to the SmartRecruiters's `Candidate` object when created with screening question answers. This API is used: https://developers.smartrecruiters.com/reference/createcandidate-1"},"candidate_without_questions":{"type":"object","additionalProperties":true,"description":"**(⚠️ Deprecated - Use the `candidate` field instead.)** Fields that we will pass through to the SmartRecruiters's `Candidate` object when created with screening question answers. This API is used: https://developers.smartrecruiters.com/reference/candidatesaddtojob-1"},"candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to the SmartRecruiters's `Candidate` object. This API is used: https://developers.smartrecruiters.com/reference/createcandidate-1"}},"description":"Fields specific to SmartRecruiters."},"talentadore":{"type":"object","properties":{"applications":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to the Talentadore's when creating applications."}},"description":"Fields specific to Talentadore."},"guidecom":{"type":"object","properties":{"candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to GuideCom's `Candidate` object."}},"description":"Fields specific to GuideCom."},"dvinci":{"type":"object","properties":{"application":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to d.vinci's application object. This API is used: https://static.dvinci-easy.com/files/d.vinci%20application-apply-api.html#jobs__id__applyApi_post"}},"description":"Fields specific to d.vinci."},"hrworks":{"type":"object","properties":{"jobApplication":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to HRWorks's `Job Application` object. This API is used: https://developers.hrworks.de/docs/hrworks-api-v2/53021f035f62d-post-job-applications"}},"description":"Fields specific to GuideCom."},"jobylon":{"type":"object","properties":{"application":{"type":"object","properties":{"message":{"type":"string","description":"The `message` field of Jobylon's create application endpoint's request body."}},"description":"Fields that we will pass through to Jobylon's create application [endpoint](https://developer.jobylon.com/push-api-and-webhooks#-xL0v)'s request body."}},"description":"Fields specific to Jobylon."},"avature":{"type":"object","properties":{"workflow":{"type":"object","properties":{"step":{"type":"object","properties":{"id":{"type":"integer","format":"int64","description":"The ID of the workflow step to assign to the candidate."}},"required":["id"]}}}},"description":"Fields specific to Avature."},"recruitee":{"type":"object","properties":{"candidate":{"type":"object","properties":{"cover_letter_text":{"type":"string","description":"The cover letter text as a string. This will be visible on the main candidate page. Can be provided together with the `cover_letter` attachment, which will end up in a separate `file` section."}}}},"description":"Fields specific to Recruitee."},"umantis":{"type":"object","properties":{"person":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Abacus Umantis's \"Create a person\" endpoint's `attributes` when creating a candidate."}},"description":"Fields specific to Abacus Umantis."},"piloga":{"type":"object","properties":{"candidate":{"type":"object","properties":{"street":{"type":"string","description":"The street address of the candidate."}},"description":"Additional candidate fields for P&I Loga that will be mapped to the application form."}},"description":"Fields specific to P&I Loga."}},"description":"Additional fields that we will pass through to specific ATS systems."},{"type":"object","properties":{"greenhouse":{"type":"object","properties":{"post_headers":{"type":"object","properties":{"On-Behalf-Of":{"type":["string","null"],"description":"ID of the the user that will show up as having performed the action in Greenhouse. We already pass a value by default, but you can use this to override it."}},"description":"Headers we will pass with `POST` requests to Greenhouse."}},"description":"Fields specific to Greenhouse."},"workable":{"type":"object","properties":{"on_behalf_of_user_remote_id":{"type":"string","description":"The remote ID of the user that will be displayed in the UI as the one that performed the action."}},"description":"Workable specific remote fields for ATS actions."}},"description":"Additional fields that we will pass through to specific ATS systems."}],"description":"Additional fields that we will pass through to specific ATS systems."}},"required":["candidate","application"]},"GetAtsCandidatesCandidateIdAttachmentsParameterCandidateId":{"type":"string","description":"The Kombo ID of the candidate you want to obtain attachments for."},"GetAtsCandidatesCandidateIdAttachmentsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":24,"maxLength":24,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"application_id":{"type":["string","null"],"minLength":24,"maxLength":24,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$","description":"The Kombo ID of the application this attachment belongs to. When this is null, the attachment is not specific to any application but the candidate."},"candidate_id":{"type":"string","minLength":24,"maxLength":24,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$","description":"The Kombo ID of the candidate this attachment belongs to."},"type":{"type":"string","enum":["CV","COVER_LETTER","OTHER"]},"remote_id":{"type":"string"},"data_url":{"type":"string"},"file_name":{"type":"string"},"content_type":{"type":"string","description":"The MIME type of the attachment."},"remote_created_at":{"description":"The date when the attachment was created.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_updated_at":{"description":"The date when the attachment was last updated.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}}},"required":["id","application_id","candidate_id","type","remote_id","data_url","file_name","content_type","remote_created_at","remote_updated_at"]}}},"required":["results"],"examples":[{"results":[{"id":"EYJjhMQT3LtVKXnTbnRT8s6U","application_id":null,"candidate_id":"BTbkvY2w5ou3z3hdwuKcKzDh","type":"CV","remote_id":"GUzE666zfyjeoCJX6A8n7wh6","data_url":"https://resources.kombo.dev/EYJjhMQT3LtVKXnTbnRT8s6U","file_name":"Frank Doe CV.pdf","content_type":"application/pdf","remote_created_at":null,"remote_updated_at":null}]}]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PostAtsCandidatesCandidateIdAttachmentsParameterCandidateId":{"type":"string","description":"The Kombo ID of the candidate you want to add the attachment to."},"PostAtsCandidatesCandidateIdAttachmentsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object"},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PostAtsCandidatesCandidateIdAttachmentsRequestBody":{"type":"object","properties":{"attachment":{"type":"object","properties":{"name":{"type":"string","description":"File name of the file you want to upload. We recommend providing something human-readable with a valid file extension (like `Resume.pdf`), as this might be shown in your customer's system."},"content_type":{"type":"string","pattern":"^[\\w.-]+\\/[\\w.-]+$","description":"Content/MIME type of the file (e.g., `application/pdf`).\n\nIf you provide `data`, this is required. If you provide `data_url`, this is optional and we'll attempt to use the `Content-Type` header of the response.\n\n**Note:** Please validate that the content type you provide is actually meaningful (and not something generic like [`application/octet-stream`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/MIME_types#applicationoctet-stream)). Especially when using object storage (like AWS S3), it's easy to accidentally discard the content types of user-provided files, so make sure to explicitly persist them when processing uploads from your users (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html#SysMetadata), [Google Cloud](https://cloud.google.com/storage/docs/metadata#content-type), and [Azure](https://learn.microsoft.com/en-us/rest/api/storageservices/put-blob#request-headers-all-blob-types))."},"data_url":{"type":"string","format":"uri","description":"URL to the file you want to upload that can be accessed without authentication headers. We will download the content immediately when receiving the request, so the URL can be short-lived.\n\nIf you're using an object storage provider (like AWS S3), we strongly recommend providing a signed URL for secure access (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html), [Google Cloud](https://cloud.google.com/storage/docs/access-control/signed-urls), and [Azure](https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview)).\n\n**Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases."},"data":{"type":"string","description":"Base64-encoded contents of the file you want to upload.\n\n**Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases."},"type":{"type":"string","enum":["CV","COVER_LETTER","OTHER"],"description":"Type of the attachment in the ATS. This may affect where the uploaded file will be shown in your customer's system."}},"required":["name","type"]},"remote_fields":{"type":"object","properties":{"greenhouse":{"type":"object","properties":{"post_headers":{"type":"object","properties":{"On-Behalf-Of":{"type":["string","null"],"description":"ID of the the user that will show up as having performed the action in Greenhouse. We already pass a value by default, but you can use this to override it."}},"description":"Headers we will pass with `POST` requests to Greenhouse."}},"description":"Fields specific to Greenhouse."},"workable":{"type":"object","properties":{"on_behalf_of_user_remote_id":{"type":"string","description":"The remote ID of the user that will be displayed in the UI as the one that performed the action."}},"description":"Workable specific remote fields for ATS actions."}},"description":"Additional fields that we will pass through to specific ATS systems."}},"required":["attachment"]},"PostAtsCandidatesCandidateIdResultLinksParameterCandidateId":{"type":"string","description":"The Kombo ID of the candidate you want to add the result link to."},"PostAtsCandidatesCandidateIdResultLinksPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object"},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PostAtsCandidatesCandidateIdResultLinksRequestBody":{"type":"object","properties":{"label":{"type":"string","description":"If the system allows us to display a display name for the link, we will use this label."},"url":{"type":"string","format":"uri","description":"URL of the link."},"details":{"type":"object","properties":{"custom_field_name_prefix":{"type":"string","description":"That will be added to the attribute labels if they are used for custom fields. If you specify `Acme:` as the prefix, the custom field will be named `Acme: Score`. Putting in the name of your company/product is a good idea."},"attributes":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"The name of the attribute"},"value":{"type":"string","description":"The value of the attribute"}},"required":["key","value"]}}},"required":["custom_field_name_prefix","attributes"],"description":"Additional details with attributes that will be added to the result. This can be percentages, scores, or any text.\n\nWe generally recommend using short attribute keys and a short custom_field_name_prefix to avoid overflowing the ATS UI."},"remote_fields":{"allOf":[{"type":"object","properties":{"icims":{"type":"object","properties":{"assessment_package_id":{"type":"string","description":"The package ID of the assessment that the result link will be added to."}},"description":"Fields specific to iCIMS."},"oracle":{"type":"object","properties":{"override_document_category":{"type":"string","enum":["IRC_CANDIDATE_RESUME","IRC_CANDIDATE_COVERLETTER","MISC","IRC_INTERNAL"],"description":"Allows you to override the document category for the url. (Default: MISC)"},"multi_post_to_all_current_applications":{"type":"boolean","description":"If true, the result link will be posted to all current applications for the candidate."}},"description":"Fields specific to Oracle."}},"description":"Additional fields that we will pass through to specific ATS systems."},{"type":"object","properties":{"greenhouse":{"type":"object","properties":{"post_headers":{"type":"object","properties":{"On-Behalf-Of":{"type":["string","null"],"description":"ID of the the user that will show up as having performed the action in Greenhouse. We already pass a value by default, but you can use this to override it."}},"description":"Headers we will pass with `POST` requests to Greenhouse."}},"description":"Fields specific to Greenhouse."},"workable":{"type":"object","properties":{"on_behalf_of_user_remote_id":{"type":"string","description":"The remote ID of the user that will be displayed in the UI as the one that performed the action."}},"description":"Workable specific remote fields for ATS actions."}},"description":"Additional fields that we will pass through to specific ATS systems."}],"description":"Additional fields that we will pass through to specific ATS systems."}},"required":["label","url"]},"PostAtsCandidatesCandidateIdTagsParameterCandidateId":{"type":"string","description":"The Kombo ID of the candidate you want to add the tag to."},"PostAtsCandidatesCandidateIdTagsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","examples":[{}]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PostAtsCandidatesCandidateIdTagsRequestBody":{"type":"object","properties":{"tag":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"The name of the tag you would like to add. We will automatically find the matching ID of the tag in the system."}},"required":["name"]},"remote_fields":{"type":"object","properties":{"greenhouse":{"type":"object","properties":{"post_headers":{"type":"object","properties":{"On-Behalf-Of":{"type":["string","null"],"description":"ID of the the user that will show up as having performed the action in Greenhouse. We already pass a value by default, but you can use this to override it."}},"description":"Headers we will pass with `POST` requests to Greenhouse."}},"description":"Fields specific to Greenhouse."},"workable":{"type":"object","properties":{"on_behalf_of_user_remote_id":{"type":"string","description":"The remote ID of the user that will be displayed in the UI as the one that performed the action."}},"description":"Workable specific remote fields for ATS actions."}},"description":"Additional fields that we will pass through to specific ATS systems."}},"required":["tag"]},"DeleteAtsCandidatesCandidateIdTagsParameterCandidateId":{"type":"string","description":"The Kombo ID of the candidate you want to remove the tag from."},"DeleteAtsCandidatesCandidateIdTagsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","examples":[{}]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"DeleteAtsCandidatesCandidateIdTagsRequestBody":{"type":"object","properties":{"tag":{"type":"object","properties":{"name":{"type":"string","description":"The name of the tag you would like to remove."}},"required":["name"]},"remote_fields":{"type":"object","properties":{"greenhouse":{"type":"object","properties":{"post_headers":{"type":"object","properties":{"On-Behalf-Of":{"type":["string","null"],"description":"ID of the the user that will show up as having performed the action in Greenhouse. We already pass a value by default, but you can use this to override it."}},"description":"Headers we will pass with `POST` requests to Greenhouse."}},"description":"Fields specific to Greenhouse."},"workable":{"type":"object","properties":{"on_behalf_of_user_remote_id":{"type":"string","description":"The remote ID of the user that will be displayed in the UI as the one that performed the action."}},"description":"Workable specific remote fields for ATS actions."}},"description":"Additional fields that we will pass through to specific ATS systems."}},"required":["tag"]},"GetAtsTagsParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetAtsTagsParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetAtsTagsParameterUpdatedAfter":{"description":"Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged.\n\nIf you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden.\n\nFor more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetAtsTagsParameterIncludeDeleted":{"type":"string","enum":["true","false"],"default":"false","description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too."},"GetAtsTagsParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetAtsTagsParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetAtsTagsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":["string","null"]},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}}},"required":["id","remote_id","name","remote_data","changed_at","remote_deleted_at"],"examples":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","name":"High Potential","remote_data":null,"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null}]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","name":"High Potential","remote_data":null,"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null}]}]}},"required":["status","data"]},"GetAtsApplicationStagesParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetAtsApplicationStagesParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetAtsApplicationStagesParameterUpdatedAfter":{"description":"Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged.\n\nIf you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden.\n\nFor more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetAtsApplicationStagesParameterIncludeDeleted":{"type":"string","enum":["true","false"],"default":"false","description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too."},"GetAtsApplicationStagesParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetAtsApplicationStagesParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetAtsApplicationStagesPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":["string","null"],"description":"The application stage name. For example, \"Initial Screening\"."},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}}},"required":["id","remote_id","name","remote_data","changed_at","remote_deleted_at"],"examples":[{"id":"5J7L4b48wBfffYwek9Az9pkM","remote_id":"32","name":"Initial Screening","remote_data":null,"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null}]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"5J7L4b48wBfffYwek9Az9pkM","remote_id":"32","name":"Initial Screening","remote_data":null,"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null}]}]}},"required":["status","data"]},"GetAtsJobsParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetAtsJobsParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetAtsJobsParameterUpdatedAfter":{"description":"Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged.\n\nIf you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden.\n\nFor more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetAtsJobsParameterIncludeDeleted":{"type":"string","enum":["true","false"],"default":"false","description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too."},"GetAtsJobsParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetAtsJobsParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetAtsJobsParameterJobCodes":{"type":"string","description":"Filter by a comma-separated list of job codes."},"GetAtsJobsParameterPostUrl":{"type":"string","description":"Filter by the `post_url` field. Can be used to find a job based on its public posting URL."},"GetAtsJobsParameterStatus":{"type":"string","enum":["OPEN","CLOSED","DRAFT","ARCHIVED"],"description":"**(⚠️ Deprecated - Use the `statuses` filter instead.)** Filter by the `status` field. Can be used to find a job based on its status."},"GetAtsJobsParameterStatuses":{"type":"string","description":"Filter by a comma-separated list of `OPEN`, `CLOSED`, `DRAFT`, `ARCHIVED` \n\nLeave this blank to get results matching all values."},"GetAtsJobsParameterEmploymentTypes":{"type":"string","description":"Filter by a comma-separated list of `FULL_TIME`, `PART_TIME`, `CONTRACT`, `SEASONAL`, `INTERNSHIP` \n\nLeave this blank to get results matching all values."},"GetAtsJobsParameterVisibilities":{"type":"string","description":"Filter by a comma-separated list of `PUBLIC`, `INTERNAL`, `UNLISTED`, `CONFIDENTIAL` \n\nLeave this blank to get results matching all values."},"GetAtsJobsParameterRemoteCreatedAfter":{"description":"Filter jobs by the day they were created in the remote system. This allows you to get jobs that were created on or after a certain day.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetAtsJobsParameterNameContains":{"type":"string","description":"Filter by the `name` field. Can be used to find a job by keywords present in the job name."},"GetAtsJobsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":["string","null"],"description":"Title of the job."},"job_code":{"type":["string","null"],"description":"The human readable job code. Some systems expose this as the Requisition Code/ID."},"description":{"type":["string","null"],"description":"Description of the job. This field is usually returned as HTML."},"confidential":{"type":["boolean","null"],"description":"**(⚠️ Deprecated)** It makes more sense to store the visibility of a job in an enum. Therefore, we introduced the `visibility` enum on jobs."},"weekly_hours":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The number of hours per week an employee is expected to work."},"employment_type":{"anyOf":[{"type":"string","enum":["FULL_TIME","PART_TIME","CONTRACT","SEASONAL","INTERNSHIP"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The type of employment contract. In rare cases where can't find a clear mapping, the original string is passed through."},"status":{"anyOf":[{"type":"string","enum":["OPEN","CLOSED","DRAFT","ARCHIVED"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The job's current status.\n\n*Note: For any checks (e.g., \"can we publish this job?\"), always evaluate both `status` and `visibility`. For example, a job can be `status=OPEN` with `visibility=INTERNAL`, meaning only existing employees can apply.*\n\n In rare cases where we can’t find a clear mapping, the original string is passed through."},"visibility":{"anyOf":[{"type":"string","enum":["PUBLIC","INTERNAL","UNLISTED","CONFIDENTIAL"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"Describes the visibility of the job:\n\n- `PUBLIC`: visible to everyone, published on a job board\n- `INTERNAL`: only visible to employees of the company itself\n- `UNLISTED`: anyone can apply but only if they have the link to it\n- `CONFIDENTIAL`: nobody can apply and it's only visible in the ATS to people who were invited to it\n\n*Note: For any checks (e.g., \"can we publish this job?\"), always evaluate both `status` and `visibility`.*\n\n In rare cases where we can’t find a clear mapping, the original string is passed through."},"category":{"type":["string","null"],"description":"The category of the job (often the job industry). The original string is passed through, for example \"Information Technology\", \"Quality Assurance\", \"Marketing\"."},"department":{"type":["string","null"],"description":"The internal department or team the job belongs to. The original string is passed through, for example \"IT/Operations\", \"Engineering - Platform\", \"Customer Success\"."},"post_url":{"type":["string","null"],"description":"The public job posting URL of the ATS itself. This can be used by external job boards to redirect applicants."},"experience_level":{"type":["string","null"],"description":"The role's seniority or experience level. The original string is passed through, for example \"Mid-Senior Level\", \"5+ years\", \"Associate\", \"IC3\"."},"remote_work_status":{"anyOf":[{"type":"string","enum":["REMOTE","HYBRID","TEMPORARY","ON_SITE"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"Defines if the job supports remote work and if so, to what extent."},"salary_amount":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The salary amount in the given currency."},"salary_amount_from":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The lower bound of the salary range."},"salary_amount_to":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The upper bound of the salary range."},"salary_currency":{"type":["string","null"],"description":"Salary currency usually returned in [ISO 4217 currency codes](https://www.iso.org/iso-4217-currency-codes.html)."},"salary_period":{"anyOf":[{"type":"string","enum":["YEAR","MONTH","TWO_WEEKS","WEEK","DAY","HOUR"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The period of time over which the salary amount is paid (not equal to the pay frequency). In rare cases where we can’t find a clear mapping, the original string is passed through."},"location":{"type":["object","null"],"properties":{"city":{"type":["string","null"]},"country":{"type":["string","null"],"description":"Contains the ISO2 country code if possible. If not, it contains the original value."},"raw":{"type":["string","null"],"description":"If we have address data, this is filled with the raw address string."},"state":{"type":["string","null"]},"street_1":{"type":["string","null"],"description":"If we can parse the address data, this field contains the first part of the street information."},"street_2":{"type":["string","null"]},"zip_code":{"type":["string","null"]}},"description":"The location of the listed job."},"custom_fields":{"type":["object","null"],"additionalProperties":true,"description":"A key-value store of fields not covered by the schema. [Read more](/custom-fields)"},"integration_fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object."},"key":{"type":"string","description":"The key of the field in the remote system."},"type":{"type":"string","enum":["DEFAULT","CUSTOM"],"description":"- `DEFAULT`: static fields in the remote system.\n- `CUSTOM`: fields that are created/editable by the user."},"value":{"type":"null","description":"The field's value."},"label":{"type":["string","null"],"description":"The label of the field. (not always available)"}},"required":["id","key","type","label"]},"description":"An array of selected passthrough integration fields. [Read more](/integration-fields)","examples":[[{"id":"5NVFhMpB9Ah6by44tzNjZLyE","key":"firstName","type":"DEFAULT","value":"Frank","label":"First Name"},{"id":"8nuajYpoRd5GnxEQaaWKUDYQ","key":"customTshirtSize","type":"CUSTOM","value":"XL","label":"T-Shirt Size"}]]},"remote_url":{"type":["string","null"],"format":"uri","description":"URL to the job posting in the source ATS system."},"opened_at":{"description":"YYYY-MM-DDTHH:mm:ss.sssZ","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"closed_at":{"description":"The date the job closed or is scheduled to close. A future value typically indicates the job remains open for applications until that date.\n\nPlease use the `status` and `visibility` fields to determine if a job can be published.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_created_at":{"description":"The date and time the object was created in the remote system.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_updated_at":{"description":"A timestamp retrieved from the remote system, describing when the resource was last updated.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"contact_id":{"type":["string","null"],"description":"**(⚠️ Deprecated)** The user ID of the contact person for this job. We strongly recommend using the new `hiring_team` property instead as it provides more complete and accurate information about the ATS users connected to a job."},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"stages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":["string","null"],"description":"The application stage name. For example, \"Initial Screening\"."},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."},"index":{"type":["integer","null"],"format":"int64","description":"Numeric index following the order of the stages if they are ordered in the underlying tool."}},"required":["id","remote_id","name","remote_data"],"examples":[{"id":"5J7L4b48wBfffYwek9Az9pkM","remote_id":"32","name":"Initial Screening","remote_data":null,"index":0}]},"description":"Application stages a candidate can be in for this particular job. "},"screening_questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"title":{"type":["string","null"]},"description":{"type":["string","null"],"description":"Additional instructions or context. Typically a short sentence, but sometimes a long detailed description (e.g., for EEO questions). May include HTML for extra formatting."},"format":{"anyOf":[{"type":"object","properties":{"display_type":{"type":["string","null"],"enum":["SINGLE_LINE","MULTI_LINE","EMAIL","URL"],"description":"If unavailable, we recommend displaying a single-line input."},"max_length":{"type":["integer","null"],"format":"int64"},"type":{"type":"string","const":"TEXT"}},"required":["type"]},{"type":"object","properties":{"display_type":{"type":["string","null"],"enum":["SLIDER","FIELD"],"default":"FIELD"},"max":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"min":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"type":{"type":"string","const":"NUMBER"}},"required":["type"]},{"type":"object","properties":{"accepted_mime_types":{"type":["array","null"],"items":{"type":"string"}},"max_file_size_bytes":{"type":["integer","null"],"format":"int64"},"type":{"type":"string","const":"FILE"}},"required":["type"]},{"type":"object","properties":{"display_type":{"type":["string","null"],"enum":["DROPDOWN","RADIO"]},"options":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The Kombo ID of this question option. Use this ID to specify the answer to this question."},"remote_id":{"type":["string","null"],"description":"ID in the connected ATS. This might be null as some systems only use the name to identify the option."},"name":{"type":"string","description":"Content of the question option."}},"required":["id","name"]}},"type":{"type":"string","const":"SINGLE_SELECT"}},"required":["options","type"]},{"type":"object","properties":{"type":{"type":"string","const":"BOOLEAN"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","const":"DATE"}},"required":["type"]},{"type":"object","properties":{"options":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The Kombo ID of this question option. Use this ID to specify the answer to this question."},"remote_id":{"type":["string","null"],"description":"ID in the connected ATS. This might be null as some systems only use the name to identify the option."},"name":{"type":"string","description":"Content of the question option."}},"required":["id","name"]}},"type":{"type":"string","const":"MULTI_SELECT"}},"required":["options","type"]},{"type":"object","properties":{"type":{"type":"string","const":"INFORMATION","description":"This is just a text block."}},"required":["type"]},{"type":"object","properties":{"raw_question":{"description":"We pass the original question data along so you can handle it."},"type":{"type":"string","const":"UNKNOWN","description":"When we're not able to map a specific question type yet, we will return this type. Every `UNKNOWN` question will also be parsed and unified by us at some point."}},"required":["type"]},{"type":"null"}]},"category":{"type":["string","null"],"enum":["EEO","DEMOGRAPHIC"],"description":"The category of the screening question (default `null`). \"EEO\" questions are related to Equal Employment Opportunity (e.g. \"What is your veteran status?\"), while \"DEMOGRAPHIC\" questions are for other diversity and demographic data collection."},"index":{"type":["integer","null"],"format":"int64"},"required":{"type":["boolean","null"]},"precondition_question_id":{"type":["string","null"],"minLength":24,"maxLength":24,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$","description":"The Kombo ID of another screening question. Only display this question if the specified \"precondition question\" is answered with one of the values in `precondition_options`."},"precondition_options":{"anyOf":[{"type":"array","items":{"type":"string","minLength":24,"maxLength":24,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"}},{"type":"array","items":{"type":"boolean"}},{"type":"null"}],"default":null,"description":"Where the screening question specified by `precondition_question_id` is of type `MULTI_SELECT` or `SINGLE_SELECT`, this is an array of Kombo IDs describing the valid options. If the question is of type `BOOLEAN`, this is an array containing either `true` or `false`."}},"required":["id","remote_id","title","description","category","required"],"examples":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"48b4d36a-1d4b-4c50-ada7-9519078e65b4","title":"Which is your primary programming language?","description":"Please enter the language you are most comfortable with.","format":{"display_type":"SINGLE_LINE","max_length":null,"type":"TEXT"},"category":null,"index":0,"required":true,"precondition_question_id":"4ZVteCSSgDw3BdwGzcQqGEPk","precondition_options":["7qd5qjPwDHarsMLFMGzXYG1K"]}]}},"job_postings":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"title":{"type":["string","null"],"description":"The job posting’s title."},"description_html":{"type":["string","null"],"description":"The job posting’s description in HTML format."},"status":{"type":["string","null"],"enum":["ACTIVE","INACTIVE","DRAFT"],"description":"The job posting’s current status."},"visibility":{"type":["string","null"],"enum":["PUBLIC","INTERNAL","UNLISTED"]},"url":{"type":["string","null"],"description":"The public URL to the job posting on the ATS platform."},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."}},"required":["id","remote_id","title","description_html","status","visibility","url","remote_data"],"examples":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"48b4d36a-1d4b-4c50-ada7-9519078e65b4","title":"Frontend Engineer","description_html":"We are looking for a Frontend Engineer.
","status":"ACTIVE","visibility":"PUBLIC","url":"https://jobs.example.com/post/159829112","remote_data":null}]}},"hiring_team":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"first_name":{"type":["string","null"],"description":"First name of the user."},"last_name":{"type":["string","null"],"description":"Last name of the user."},"email":{"type":["string","null"],"pattern":"^(?!\\.)(?!.*\\.\\.)([\\w'+-.]*)[\\w+-]@([\\da-z][\\da-z-]*\\.)+[a-z]{2,}$","description":"Email of the user. If the email address is invalid, it will be set to null."},"hiring_team_roles":{"type":"array","items":{"type":"string","enum":["RECRUITER","HIRING_MANAGER"],"examples":["RECRUITER"]},"description":"Array of the roles of the user for this specific job. Currently only `RECRUITER` and `HIRING_MANAGER` are mapped into our unified schema."}},"required":["id","remote_id","first_name","last_name","hiring_team_roles"]},"description":"The hiring team allows you to sync users into your system who can access the job and its applications."}},"required":["id","remote_id","name","job_code","description","confidential","weekly_hours","category","department","post_url","experience_level","salary_amount","salary_amount_from","salary_amount_to","salary_currency","custom_fields","integration_fields","remote_url","opened_at","closed_at","remote_created_at","remote_updated_at","contact_id","remote_data","changed_at","remote_deleted_at","stages","screening_questions","job_postings","hiring_team"]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"H5daSm8e85Dmvmne3wLeCPhX","remote_id":"32","name":"Backend Engineer","job_code":"BE-2021-01","description":"Kombo is hiring engineers! If you are reading this and you are located in Berlin, Germany, feel free to contact us about this position.
","confidential":false,"weekly_hours":37,"employment_type":"FULL_TIME","status":"OPEN","visibility":"PUBLIC","category":"Technical Job","department":"Engineering","post_url":"https://jobs.example.com/post/159829112","experience_level":"Mid-Senior","remote_work_status":"HYBRID","salary_amount":4200,"salary_amount_from":null,"salary_amount_to":null,"salary_currency":"EUR","salary_period":"MONTH","location":{"city":"Berlin","country":"DE","raw":"Berlin, Germany","state":"Berlin","street_1":"Lohmühlenstraße 65","street_2":null,"zip_code":"12435"},"custom_fields":{},"integration_fields":[],"remote_url":"https://app.greenhouse.io/jobs/32","opened_at":"2022-08-07T14:01:29.196Z","closed_at":null,"remote_created_at":"2022-08-07T14:01:29.196Z","remote_updated_at":"2022-08-07T14:01:29.196Z","contact_id":"6gT2yLMBEipd3zpezATv3Rhu","remote_data":null,"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"stages":[{"id":"5J7L4b48wBfffYwek9Az9pkM","remote_id":"32","name":"Initial Screening","remote_data":null,"index":0}],"screening_questions":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"48b4d36a-1d4b-4c50-ada7-9519078e65b4","title":"Which is your primary programming language?","description":"Please enter the language you are most comfortable with.","format":{"display_type":"SINGLE_LINE","max_length":null,"type":"TEXT"},"category":null,"index":0,"required":true,"precondition_question_id":"4ZVteCSSgDw3BdwGzcQqGEPk","precondition_options":["7qd5qjPwDHarsMLFMGzXYG1K"]}],"job_postings":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"48b4d36a-1d4b-4c50-ada7-9519078e65b4","title":"Frontend Engineer","description_html":"We are looking for a Frontend Engineer.
","status":"ACTIVE","visibility":"PUBLIC","url":"https://jobs.example.com/post/159829112","remote_data":null}],"hiring_team":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","first_name":"John","last_name":"Doe","email":"john.doe@kombo.dev","hiring_team_roles":["RECRUITER"]}]}]}]}},"required":["status","data"]},"PostAtsJobsJobIdApplicationsParameterJobId":{"type":"string","description":"The Kombo ID or Remote ID of the Job this candidate should apply for. If you want to use the ID of the integrated system (remote_id) you need to prefix the id with \"remote:\". You can use the remote ID if you do not want to sync jobs."},"PostAtsJobsJobIdApplicationsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"outcome":{"type":["string","null"],"enum":["PENDING","HIRED","DECLINED"],"description":"Parsed status of the application. If Kombo identifies that the application was accepted and the candidate hired, it will be `HIRED`. If the application was rejected or the candidate declined, it will be `DECLINED`. If the application is still in process, it will be `PENDING`.\nKombo will always try to deliver this information as reliably as possible."},"rejection_reason_name":{"type":["string","null"],"description":"Reason for the rejection of the candidate."},"rejected_at":{"description":"The time that the application was rejected.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"current_stage_id":{"type":["string","null"],"description":"ID of the current application stage"},"job_id":{"type":["string","null"],"description":"The Kombo ID of the job which the candidate applied to. The ID can be used to retrieve the job from the `get jobs` endpoint."},"candidate_id":{"type":["string","null"],"description":"The Kombo ID of the candidate who applied to the job. The ID can be used to retrieve the candidate from the `get candidates` endpoint."},"screening_question_answers":{"type":["array","null"],"items":{"anyOf":[{"type":"object","properties":{"answer":{"type":"object","properties":{"content":{"type":["string","null"]}},"required":["content"]},"question":{"type":"object","properties":{"remote_id":{"type":["string","null"]},"title":{"type":"string"},"type":{"type":"string","const":"TEXT"}},"required":["remote_id","title","type"]}},"required":["answer","question"]},{"type":"object","properties":{"answer":{"type":"object","properties":{"choice":{"type":["string","null"]}},"required":["choice"]},"question":{"type":"object","properties":{"remote_id":{"type":["string","null"]},"title":{"type":"string"},"type":{"type":"string","const":"SINGLE_SELECT"}},"required":["remote_id","title","type"]}},"required":["answer","question"]},{"type":"object","properties":{"answer":{"type":"object","properties":{"choices":{"type":"array","items":{"type":"string"},"default":[]}}},"question":{"type":"object","properties":{"remote_id":{"type":["string","null"]},"title":{"type":"string"},"type":{"type":"string","const":"MULTI_SELECT"}},"required":["remote_id","title","type"]}},"required":["answer","question"]},{"type":"object","properties":{"answer":{"type":"object","properties":{"checked":{"type":["boolean","null"]}},"required":["checked"]},"question":{"type":"object","properties":{"remote_id":{"type":["string","null"]},"title":{"type":"string"},"type":{"type":"string","const":"BOOLEAN"}},"required":["remote_id","title","type"]}},"required":["answer","question"]},{"type":"object","properties":{"answer":{"type":"object","properties":{"number":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308}},"required":["number"]},"question":{"type":"object","properties":{"remote_id":{"type":["string","null"]},"title":{"type":"string"},"type":{"type":"string","const":"NUMBER"}},"required":["remote_id","title","type"]}},"required":["answer","question"]},{"type":"object","properties":{"answer":{"type":"object","properties":{"date":{"type":["string","null"],"format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$"}},"required":["date"]},"question":{"type":"object","properties":{"remote_id":{"type":["string","null"]},"title":{"type":"string"},"type":{"type":"string","const":"DATE"}},"required":["remote_id","title","type"]}},"required":["answer","question"]},{"type":"object","properties":{"answer":{"type":"object","properties":{"raw":{"type":"null","description":"We pass the original question data along so you can handle it."}}},"question":{"type":"object","properties":{"remote_id":{"type":["string","null"]},"title":{"type":"string"},"type":{"type":"string","const":"UNKNOWN","description":"When we're not able to map a specific question type yet, we will return this type. Every `UNKNOWN` question will also be parsed and unified by us at some point."}},"required":["remote_id","title","type"]}},"required":["answer","question"]}]},"default":[],"description":"A list of answers to screening questions. The screening answer type `FILE` is currently unsupported."},"custom_fields":{"type":["object","null"],"additionalProperties":true,"description":"A key-value store of fields not covered by the schema. [Read more](/custom-fields)"},"integration_fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object."},"key":{"type":"string","description":"The key of the field in the remote system."},"type":{"type":"string","enum":["DEFAULT","CUSTOM"],"description":"- `DEFAULT`: static fields in the remote system.\n- `CUSTOM`: fields that are created/editable by the user."},"value":{"type":"null","description":"The field's value."},"label":{"type":["string","null"],"description":"The label of the field. (not always available)"}},"required":["id","key","type","label"]},"description":"An array of selected passthrough integration fields. [Read more](/integration-fields)","examples":[[{"id":"5NVFhMpB9Ah6by44tzNjZLyE","key":"firstName","type":"DEFAULT","value":"Frank","label":"First Name"},{"id":"8nuajYpoRd5GnxEQaaWKUDYQ","key":"customTshirtSize","type":"CUSTOM","value":"XL","label":"T-Shirt Size"}]]},"remote_url":{"type":["string","null"],"format":"uri","description":"URL to the application in the source ATS system. When embedding this in your system, please consider that not for all ATS a dedicated application URL is available, so you might need to fall back to the candidate URL."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_created_at":{"description":"The date and time the object was created in the remote system.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_updated_at":{"description":"A timestamp retrieved from the remote system, describing when the resource was last updated.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."},"current_stage":{"type":["object","null"],"properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"name":{"type":["string","null"],"description":"The application stage name. For example, \"Initial Screening\"."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"index":{"type":["integer","null"],"format":"int64","examples":[2]}},"required":["id","name","remote_id","index"]},"job":{"type":["object","null"],"properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"name":{"type":["string","null"],"description":"Title of the job."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."}},"required":["id","name","remote_id"],"examples":[{"id":"H5daSm8e85Dmvmne3wLeCPhX","name":"Backend Engineer","remote_id":"32"}]},"candidate":{"type":["object","null"],"properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"first_name":{"type":["string","null"],"description":"First name of the candidate."},"last_name":{"type":["string","null"],"description":"Last name of the candidate."},"company":{"type":["string","null"],"description":"The current company of the candidate."},"title":{"type":["string","null"],"description":"The current job title of the candidate."},"confidential":{"type":["boolean","null"],"description":"Whether the candidate’s profile is confidential in the ATS."},"source":{"type":["string","null"],"description":"The hiring source of the candidate. If you're a job board or recruiting service, you can use this to validate which candidates applied through your service and ensure that the correct referral compensation is paid out."},"phone_numbers":{"type":["array","null"],"items":{"type":"object","properties":{"phone_number":{"type":"string"},"type":{"type":["string","null"],"description":"Kombo exposes type information through this field. If we don't get any information from the tool, we will set this to `null`."}},"required":["phone_number"]},"default":[],"description":"A list of phone numbers of the candidate."},"email_addresses":{"type":["array","null"],"items":{"type":"object","properties":{"email_address":{"type":["string","null"],"pattern":"^(?!\\.)(?!.*\\.\\.)([\\w'+-.]*)[\\w+-]@([\\da-z][\\da-z-]*\\.)+[a-z]{2,}$"},"type":{"type":["string","null"],"description":"Kombo exposes type information through this field. If we don't get any information from the tool, we will set this to `null`."}},"required":["type"]},"default":[],"description":"A list of email addresses of the candidate with an optional type. If an email address is invalid, it will be filtered out."},"social_media":{"type":["array","null"],"items":{"type":"object","properties":{"link":{"type":["string","null"]},"type":{"type":["string","null"]},"username":{"type":["string","null"]}}},"default":[],"description":"List of social media accounts of the candidate."},"location":{"type":["object","null"],"properties":{"city":{"type":["string","null"]},"country":{"type":["string","null"],"description":"Contains the ISO2 country code if possible. If not, it contains the original value."},"raw":{"type":["string","null"],"description":"If we have address data, this is filled with the raw address string."},"state":{"type":["string","null"]},"street_1":{"type":["string","null"],"description":"If we can parse the address data, this field contains the first part of the street information."},"street_2":{"type":["string","null"]},"zip_code":{"type":["string","null"]}},"description":"Location of the candidate."},"custom_fields":{"type":["object","null"],"additionalProperties":true,"description":"A key-value store of fields not covered by the schema. [Read more](/custom-fields)"},"integration_fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object."},"key":{"type":"string","description":"The key of the field in the remote system."},"type":{"type":"string","enum":["DEFAULT","CUSTOM"],"description":"- `DEFAULT`: static fields in the remote system.\n- `CUSTOM`: fields that are created/editable by the user."},"value":{"type":"null","description":"The field's value."},"label":{"type":["string","null"],"description":"The label of the field. (not always available)"}},"required":["id","key","type","label"]},"description":"An array of selected passthrough integration fields. [Read more](/integration-fields)","examples":[[{"id":"5NVFhMpB9Ah6by44tzNjZLyE","key":"firstName","type":"DEFAULT","value":"Frank","label":"First Name"},{"id":"8nuajYpoRd5GnxEQaaWKUDYQ","key":"customTshirtSize","type":"CUSTOM","value":"XL","label":"T-Shirt Size"}]]},"remote_url":{"type":["string","null"],"format":"uri","description":"URL to the candidate profile in the source ATS system. When embedding this in your system, please consider that not for all ATS a dedicated candidate profile URL is available, so you might need to fall back to the application URL."},"remote_created_at":{"description":"The date and time the object was created in the remote system.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_updated_at":{"description":"A timestamp retrieved from the remote system, describing when the resource was last updated.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"name":{"type":["string","null"]},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."}},"required":["id","name","remote_id"],"examples":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","name":"High Potential","remote_id":"32"}]}}},"required":["id","remote_id","first_name","last_name","company","title","confidential","source","custom_fields","integration_fields","remote_url","remote_created_at","remote_updated_at","remote_data","changed_at","remote_deleted_at","tags"]}},"required":["id","remote_id","outcome","rejection_reason_name","rejected_at","current_stage_id","job_id","candidate_id","custom_fields","integration_fields","remote_url","changed_at","remote_deleted_at","remote_created_at","remote_updated_at","remote_data","current_stage","job","candidate"],"examples":[{"id":"H77fDF8uvEzGNPRubiz5DvQ7","remote_id":"32","outcome":"PENDING","rejection_reason_name":null,"rejected_at":null,"current_stage_id":"5J7L4b48wBfffYwek9Az9pkM","job_id":"H5daSm8e85Dmvmne3wLeCPhX","candidate_id":"26vafvWSRmbhNcxJYqjCzuJg","screening_question_answers":[],"custom_fields":{},"integration_fields":[],"remote_url":"https://example.com/applications/32","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_created_at":"2022-04-02T00:00:00.000Z","remote_updated_at":"2022-04-04T00:00:00.000Z","remote_data":null,"current_stage":{"id":"5J7L4b48wBfffYwek9Az9pkM","name":"Interview","remote_id":"5","index":2},"job":{"id":"H5daSm8e85Dmvmne3wLeCPhX","name":"Head of Integrations","remote_id":"1"},"candidate":{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","first_name":"John","last_name":"Doe","company":"Acme, Inc.","title":"Head of Marketing","confidential":false,"source":"Employee Referral","phone_numbers":[{"phone_number":"+1-541-754-3010","type":"HOME"}],"email_addresses":[{"email_address":"john.doe@example.com","type":"PRIVATE"}],"social_media":[{"link":"https://www.youtube.com/watch?v=dQw4w9WgXcQ","type":"YOUTUBE","username":null}],"location":{"city":"Berlin","country":"DE","raw":"Berlin, Germany","state":"Berlin","street_1":"Lohmühlenstraße 65","street_2":null,"zip_code":"12435"},"custom_fields":{},"integration_fields":[],"remote_url":"https://example.com/candidates/32","remote_created_at":"2022-04-02T00:00:00.000Z","remote_updated_at":"2022-04-04T00:00:00.000Z","remote_data":null,"changed_at":"2022-04-04T00:00:00.000Z","remote_deleted_at":null,"tags":[{"id":"7DHDky9zk4qnWkycuuQjFXNh","name":"Fast Learner","remote_id":"1"}]}}]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PostAtsJobsJobIdApplicationsRequestBody":{"type":"object","properties":{"stage_id":{"type":"string","description":"Stage this candidate should be in. If left out, the default stage for this job will be used. You can obtain the possible `stage_id`s from the `get-jobs` endpoint."},"candidate":{"type":"object","properties":{"first_name":{"type":"string","description":"The first name of the candidate."},"last_name":{"type":"string","description":"The last name of the candidate."},"email_address":{"type":"string","description":"The primary email address this application will be created with.","format":"email"},"additional_email_addresses":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["PERSONAL","WORK","OTHER"]},"email_address":{"type":"string","format":"email"}},"required":["type","email_address"]}},"company":{"type":"string","description":"The company where the candidate is currently working."},"title":{"type":"string","description":"The current job title of the candidate."},"phone_number":{"type":"string","description":"The phone number of the candidate."},"additional_phone_numbers":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["PERSONAL","WORK","OTHER"]},"phone_number":{"type":"string"}},"required":["type","phone_number"]}},"location":{"type":"object","properties":{"city":{"type":"string"},"country":{"type":"string","pattern":"^[A-Z]{2}$","description":"The uppercase two-letter ISO country (e.g., `DE`). For systems that use codes in formats other than `ISO 3166-1 alpha-2`, Kombo transforms the ISO Codes to the appropriate value."},"state":{"type":"string"},"zip_code":{"type":"string"}},"required":["country"],"description":"The location of the candidate."},"gender":{"type":"string","enum":["MALE","FEMALE","OTHER"],"description":"The gender of the candidate. Must be one of `MALE`, `FEMALE`, or `OTHER`."},"availability_date":{"description":"The date the candidate is available to start working.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"salary_expectations":{"type":"object","properties":{"period":{"type":"string","enum":["MONTH","YEAR"],"description":"The period of the salary expectations. Must be one of `MONTH` or `YEAR`."},"amount":{"type":"number","format":"double","minimum":-1.7976931348623157e+308,"description":"The amount of the salary expectations."}},"required":["period","amount"],"description":"The salary expectations of the applicant. We will automatically convert the amount to a format that is suitable for the ATS you are using. For example, if you are using monthly salary expectations, we will convert the amount to a yearly salary if the ATS expects yearly salary expectations."},"social_links":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri"}},"required":["url"]},"default":[],"description":"A list of social media links of the candidate. The links must be valid URLs."}},"required":["first_name","last_name","email_address"]},"attachments":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"File name of the file you want to upload. We recommend providing something human-readable with a valid file extension (like `Resume.pdf`), as this might be shown in your customer's system."},"content_type":{"type":"string","pattern":"^[\\w.-]+\\/[\\w.-]+$","description":"Content/MIME type of the file (e.g., `application/pdf`).\n\nIf you provide `data`, this is required. If you provide `data_url`, this is optional and we'll attempt to use the `Content-Type` header of the response.\n\n**Note:** Please validate that the content type you provide is actually meaningful (and not something generic like [`application/octet-stream`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/MIME_types#applicationoctet-stream)). Especially when using object storage (like AWS S3), it's easy to accidentally discard the content types of user-provided files, so make sure to explicitly persist them when processing uploads from your users (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html#SysMetadata), [Google Cloud](https://cloud.google.com/storage/docs/metadata#content-type), and [Azure](https://learn.microsoft.com/en-us/rest/api/storageservices/put-blob#request-headers-all-blob-types))."},"data_url":{"type":"string","format":"uri","description":"URL to the file you want to upload that can be accessed without authentication headers. We will download the content immediately when receiving the request, so the URL can be short-lived.\n\nIf you're using an object storage provider (like AWS S3), we strongly recommend providing a signed URL for secure access (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html), [Google Cloud](https://cloud.google.com/storage/docs/access-control/signed-urls), and [Azure](https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview)).\n\n**Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases."},"data":{"type":"string","description":"Base64-encoded contents of the file you want to upload.\n\n**Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases."},"type":{"type":"string","enum":["CV","COVER_LETTER","OTHER"],"description":"Type of the attachment in the ATS. This may affect where the uploaded file will be shown in your customer's system."}},"required":["name","type"]},"default":[],"description":"Array of the attachments you would like to upload. The first CV in the attachments will be treated as the resume of the candidate when the tool allows previewing a resume."},"source":{"type":"object","properties":{"name":{"type":"string","description":"Name of the source (e.g., `\"Example Job Board\"`)."},"unified_key":{"type":"string"},"id":{"type":"string"}},"description":"**(⚠️ Deprecated - Use [automatic source writing](/ats/features/application-attribution#automatic-attribution) instead)** Optional source information that will be attached to the candidate. If\nyou're a job board or recruiting service, you can use this to make sure your\ncustomers can see which candidates came from you.\n\nThis is deprecated because writing sources requires users to do some setup in most ATSs."},"sourced_by":{"type":"object","properties":{"user_id":{"type":"string","description":"The Kombo ID or Remote ID of the User. Use the Kombo ID directly, or prefix the remote ID with \"remote:\" to reference the user by their ID in the remote system."}},"required":["user_id"],"description":"Credit the recruiter or team member who sourced this candidate.\n\nWhile the `source` field tracks the channel/platform (e.g., \"Awesome Jobboard\"), the `sourced_by` field tracks the individual person responsible for finding the candidate."},"gdpr_consent":{"type":"object","properties":{"expires_at":{"description":"Until when the candidate has granted the company they're applying to permission to process their personal data.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"given":{"type":"boolean","description":"Whether the candidate has given consent."}},"description":"Optional GDPR consent information required in some jurisdictions (like the Czech Republic or Slovakia)."},"remote_fields":{"allOf":[{"type":"object","properties":{"successfactors":{"type":"object","properties":{"Candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to SuccessFactor's `Candidate` object."},"JobApplication":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to SuccessFactor's `JobApplication` object."},"copyJobApplicationAttachments":{"type":"boolean","description":"If set to true, we will copy custom attachments from the JobApplication to the Candidate."},"update_existing_candidate":{"type":["boolean","null"],"description":"When the candidate already exists, whether to update the Candidate with the remote fields found under the Candidate entity."}},"description":"Fields specific to SAP SuccessFactors."},"personio":{"type":"object","properties":{"application":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Personio's `application` object."}},"description":"Fields specific to Personio."},"talentsoft":{"type":"object","properties":{"applicant":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to TalentSoft's `applicant` object."},"application":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to TalentSoft's `application` object."}},"description":"Fields specific to TalentSoft."},"teamtailor":{"type":"object","properties":{"candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Teamtailor's `Candidate` object."},"application":{"type":"object","properties":{"attributes":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Teamtailor's attributes section `Job application` object."}}}}},"greenhouse":{"type":"object","properties":{"candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Greenhouse's `Candidate` object."},"application":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Greenhouse's `Application` object."}},"description":"Fields specific to Greenhouse."},"lever":{"type":"object","properties":{"candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Lever's `Candidate` object. Note: make sure to submit the keys and values in the correct form data format."}},"description":"Fields specific to Lever."},"workable":{"type":"object","properties":{"candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Workable's `Candidate` object."}},"description":"Fields specific to Workable."},"workday":{"type":"object","properties":{"Candidate_Data":{"type":"object","properties":{"Name_Detail_Data":{"type":"object","properties":{"Middle_Name":{"type":"string","description":"The candidate's middle name"},"Social_Suffix_Reference":{"type":"object","properties":{"Predefined_Name_Component_ID":{"type":"string"}},"required":["Predefined_Name_Component_ID"],"description":"The WID of the social suffix reference for the candidate"}}},"Language_Reference":{"type":"object","properties":{"WID":{"type":"string"}},"required":["WID"],"description":"Used to set the candidate's primary language"},"Job_Application_Data":{"type":"object","properties":{"Job_Applied_To_Data":{"type":"object","properties":{"Global_Personal_Information_Data":{"type":"object","properties":{"Date_of_Birth":{"type":"string"}}}}},"Resume_Data":{"type":"object","properties":{"Education_Data":{"type":"array","items":{"type":"object","properties":{"School_Name":{"type":"string"},"First_Year_Attended":{"type":"number","format":"double","minimum":-1.7976931348623157e+308},"Last_Year_Attended":{"type":"number","format":"double","minimum":-1.7976931348623157e+308},"Field_of_Study_Reference":{"type":"object","properties":{"WID":{"type":"string"}},"required":["WID"]},"Degree_Reference":{"type":"object","properties":{"WID":{"type":"string"}},"required":["WID"]},"Grade_Average":{"type":"string"}}}},"Skill_Data":{"type":"array","items":{"type":"object","properties":{"Skill_Name":{"type":"string"}}}},"Language_Data":{"type":"array","items":{"type":"object","properties":{"Language_Reference":{"type":"object","properties":{"WID":{"type":"string"}}},"Language":{"type":"object","properties":{"Native":{"type":"boolean"},"Language_Ability":{"type":"array","items":{"type":"object","properties":{"Language_Ability_Data":{"type":"object","properties":{"Language_Proficiency_Reference":{"type":"object","properties":{"WID":{"type":"string"}},"required":["WID"]},"Language_Ability_Type_Reference":{"type":"object","properties":{"WID":{"type":"string"}},"required":["WID"]}}}}}}},"required":["Language_Ability"]}}}},"Experience_Data":{"type":"array","items":{"type":"object","properties":{"Company_Name":{"type":"string"},"Title":{"type":"string"},"Location":{"type":"string"},"Start_Date":{"description":"YYYY-MM-DDTHH:mm:ss.sssZ","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"End_Date":{"description":"YYYY-MM-DDTHH:mm:ss.sssZ","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"Currently_Work_Here":{"type":"boolean"},"Description":{"type":"string"}},"required":["Company_Name","Title","Start_Date"]}}}}}},"Contact_Data":{"type":"object","properties":{"Location_Data":{"type":"object","properties":{"Address_Line_1":{"type":"string"},"Address_Line_2":{"type":"string"},"Region_Subdivision_1":{"type":"string"},"Country_Region_Reference":{"type":"object","properties":{"Country_Region_ID":{"type":"string"}},"required":["Country_Region_ID"]},"Country_City_Reference":{"type":"object","properties":{"WID":{"type":"string"}},"required":["WID"]}}}}},"Worker_Reference":{"type":"object","properties":{"WID":{"type":"string"},"Employee_ID":{"type":"string"}},"description":"Reference to the Worker (employee) to link the candidate to. Provide either WID or Employee_ID."}}},"Override_Source_Reference_WID":{"type":"string","description":"Used to override the automatic source WID."}},"description":"Fields specific to Workday. The remote fields schema follows the documentation at https://community.workday.com/sites/default/files/file-hosting/productionapi/Recruiting/v43.0/Put_Candidate.html. Only defined fields are supported, if you need additional field support please reach out to Kombo support."},"zohorecruit":{"type":"object","properties":{"candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Zoho Recruit's `Candidate` object."}},"description":"Fields specific to Zoho Recruit."},"bullhorn":{"type":"object","properties":{"candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Bullhorn's `Candidate` object."},"job_submission":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Bullhorn's `JobSubmission` object."}},"description":"Fields specific to Bullhorn."},"smartrecruiters":{"type":"object","properties":{"candidate_with_questions":{"type":"object","additionalProperties":true,"description":"**(⚠️ Deprecated - Use the `candidate` field instead.)** Fields that we will pass through to the SmartRecruiters's `Candidate` object when created with screening question answers. This API is used: https://developers.smartrecruiters.com/reference/createcandidate-1"},"candidate_without_questions":{"type":"object","additionalProperties":true,"description":"**(⚠️ Deprecated - Use the `candidate` field instead.)** Fields that we will pass through to the SmartRecruiters's `Candidate` object when created with screening question answers. This API is used: https://developers.smartrecruiters.com/reference/candidatesaddtojob-1"},"candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to the SmartRecruiters's `Candidate` object. This API is used: https://developers.smartrecruiters.com/reference/createcandidate-1"}},"description":"Fields specific to SmartRecruiters."},"talentadore":{"type":"object","properties":{"applications":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to the Talentadore's when creating applications."}},"description":"Fields specific to Talentadore."},"guidecom":{"type":"object","properties":{"candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to GuideCom's `Candidate` object."}},"description":"Fields specific to GuideCom."},"dvinci":{"type":"object","properties":{"application":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to d.vinci's application object. This API is used: https://static.dvinci-easy.com/files/d.vinci%20application-apply-api.html#jobs__id__applyApi_post"}},"description":"Fields specific to d.vinci."},"hrworks":{"type":"object","properties":{"jobApplication":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to HRWorks's `Job Application` object. This API is used: https://developers.hrworks.de/docs/hrworks-api-v2/53021f035f62d-post-job-applications"}},"description":"Fields specific to GuideCom."},"jobylon":{"type":"object","properties":{"application":{"type":"object","properties":{"message":{"type":"string","description":"The `message` field of Jobylon's create application endpoint's request body."}},"description":"Fields that we will pass through to Jobylon's create application [endpoint](https://developer.jobylon.com/push-api-and-webhooks#-xL0v)'s request body."}},"description":"Fields specific to Jobylon."},"avature":{"type":"object","properties":{"workflow":{"type":"object","properties":{"step":{"type":"object","properties":{"id":{"type":"integer","format":"int64","description":"The ID of the workflow step to assign to the candidate."}},"required":["id"]}}}},"description":"Fields specific to Avature."},"recruitee":{"type":"object","properties":{"candidate":{"type":"object","properties":{"cover_letter_text":{"type":"string","description":"The cover letter text as a string. This will be visible on the main candidate page. Can be provided together with the `cover_letter` attachment, which will end up in a separate `file` section."}}}},"description":"Fields specific to Recruitee."},"umantis":{"type":"object","properties":{"person":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Abacus Umantis's \"Create a person\" endpoint's `attributes` when creating a candidate."}},"description":"Fields specific to Abacus Umantis."},"piloga":{"type":"object","properties":{"candidate":{"type":"object","properties":{"street":{"type":"string","description":"The street address of the candidate."}},"description":"Additional candidate fields for P&I Loga that will be mapped to the application form."}},"description":"Fields specific to P&I Loga."}},"description":"Additional fields that we will pass through to specific ATS systems."},{"type":"object","properties":{"greenhouse":{"type":"object","properties":{"post_headers":{"type":"object","properties":{"On-Behalf-Of":{"type":["string","null"],"description":"ID of the the user that will show up as having performed the action in Greenhouse. We already pass a value by default, but you can use this to override it."}},"description":"Headers we will pass with `POST` requests to Greenhouse."}},"description":"Fields specific to Greenhouse."},"workable":{"type":"object","properties":{"on_behalf_of_user_remote_id":{"type":"string","description":"The remote ID of the user that will be displayed in the UI as the one that performed the action."}},"description":"Workable specific remote fields for ATS actions."}},"description":"Additional fields that we will pass through to specific ATS systems."}],"description":"Additional fields that we will pass through to specific ATS systems."},"screening_question_answers":{"type":"array","items":{"type":"object","properties":{"question_id":{"type":"string","description":"ID of the question returned by the Kombo API. We'll report a warning in the logs if the question can't be found on the job."},"answer":{"anyOf":[{"type":"string","description":"Answer to a `TEXT` question or the option ID of the answer to a `SINGLE_SELECT` question."},{"type":"boolean","description":"Answer to a `BOOLEAN` question."},{"type":"number","format":"double","minimum":-1.7976931348623157e+308,"description":"Answer to a `NUMBER` question."},{"type":"array","items":{"type":"string"},"description":"Answer to a `MULTI_SELECT` question. The array elements are the IDs of the selected options."},{"description":"Answer to a `DATE` question as an ISO 8601 date string.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},{"type":"object","properties":{"name":{"type":"string","description":"File name of the file you want to upload. We recommend providing something human-readable with a valid file extension (like `Resume.pdf`), as this might be shown in your customer's system."},"content_type":{"type":"string","pattern":"^[\\w.-]+\\/[\\w.-]+$","description":"Content/MIME type of the file (e.g., `application/pdf`).\n\nIf you provide `data`, this is required. If you provide `data_url`, this is optional and we'll attempt to use the `Content-Type` header of the response.\n\n**Note:** Please validate that the content type you provide is actually meaningful (and not something generic like [`application/octet-stream`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/MIME_types#applicationoctet-stream)). Especially when using object storage (like AWS S3), it's easy to accidentally discard the content types of user-provided files, so make sure to explicitly persist them when processing uploads from your users (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html#SysMetadata), [Google Cloud](https://cloud.google.com/storage/docs/metadata#content-type), and [Azure](https://learn.microsoft.com/en-us/rest/api/storageservices/put-blob#request-headers-all-blob-types))."},"data_url":{"type":"string","format":"uri","description":"URL to the file you want to upload that can be accessed without authentication headers. We will download the content immediately when receiving the request, so the URL can be short-lived.\n\nIf you're using an object storage provider (like AWS S3), we strongly recommend providing a signed URL for secure access (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html), [Google Cloud](https://cloud.google.com/storage/docs/access-control/signed-urls), and [Azure](https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview)).\n\n**Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases."},"data":{"type":"string","description":"Base64-encoded contents of the file you want to upload.\n\n**Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases."}},"required":["name"],"description":"Answer to a `FILE` question."}],"description":"Answer to a question. This will be validated based on the question format and throw an error if the answer is invalid. Here is a description of each question type and the required answer format:\n\n`TEXT` - Simply provide a \"string\" answer.\n\n`SINGLE_SELECT` - Provide the ID of the answer as a string.\n\n`MULTI_SELECT` - Provide a string array containing the question IDs of the selected options.\n\n`BOOLEAN` - Either `true` or `false`.\n\n`NUMBER` - A number.\n\n`DATE` - Provide the answer as an ISO 8601 date string.\n\n`FILE` - Please select Option 6 in the dropdown above to see the required format."}},"required":["question_id","answer"]},"description":"Array of answers to screening questions. Currently, not all question types are supported, and unsupported ones will not be submitted.\n\nThe available questions for a job can be retrieved from the get jobs endpoint. The answers will be validated based on the format of the questions. Make sure to follow this schema to avoid errors.","examples":[[{"question_id":"D8yPrjXXvA2XeBksTmrVvKSn","answer":"Yes"}]]}},"required":["candidate"]},"GetAtsUsersParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetAtsUsersParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetAtsUsersParameterUpdatedAfter":{"description":"Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged.\n\nIf you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden.\n\nFor more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetAtsUsersParameterIncludeDeleted":{"type":"string","enum":["true","false"],"default":"false","description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too."},"GetAtsUsersParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetAtsUsersParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetAtsUsersParameterEmails":{"type":"string","description":"Filter by a comma-separated list of emails. We will only return users who have _any_ of the emails. The format of the emails is case-insensitive."},"GetAtsUsersPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"first_name":{"type":["string","null"],"description":"First name of the user."},"last_name":{"type":["string","null"],"description":"Last name of the user."},"email":{"type":["string","null"],"pattern":"^(?!\\.)(?!.*\\.\\.)([\\w'+-.]*)[\\w+-]@([\\da-z][\\da-z-]*\\.)+[a-z]{2,}$","description":"Email of the user. If the email address is invalid, it will be set to null."},"status":{"type":["string","null"],"enum":["ACTIVE","INACTIVE"],"description":"Whether the user is active or inactive. Consider this field when provisioning users from the ATS."},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}}},"required":["id","remote_id","first_name","last_name","status","remote_data","changed_at","remote_deleted_at"],"examples":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","first_name":"John","last_name":"Doe","email":"john.doe@kombo.dev","status":"ACTIVE","remote_data":null,"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null}]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","first_name":"John","last_name":"Doe","email":"john.doe@kombo.dev","status":"ACTIVE","remote_data":null,"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null}]}]}},"required":["status","data"]},"GetAtsOffersParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetAtsOffersParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetAtsOffersParameterUpdatedAfter":{"description":"Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged.\n\nIf you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden.\n\nFor more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetAtsOffersParameterIncludeDeleted":{"type":"string","enum":["true","false"],"default":"false","description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too."},"GetAtsOffersParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetAtsOffersParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetAtsOffersPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"status":{"type":["string","null"],"enum":["ACCEPTED","DECLINED","SENT","APPROVED","DRAFT","ABANDONED"],"description":"The offer’s current status. The usual flow of statuses is as follows:\n`DRAFT` -> `APPROVED` -> `SENT` -> `ACCEPTED` or `DECLINED`.\n\nPlease note that not all systems will expose all statuses. For example, most systems do not include the `APPROVED` status\n\n- `ACCEPTED`: The offer was accepted by the candidate.\n- `DECLINED`: The offer was declined by the candidate.\n- `SENT`: The offer was sent to the candidate.\n- `APPROVED`: The draft was approved.\n- `DRAFT`: The offer is a draft and has not yet been sent to the candidate.\n- `ABANDONED`: The offer has expired or is no longer valid and should not be considered.\n"},"employment_start_date":{"description":"The date when the employment described by the offer starts. Can be in the past or future.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"application_id":{"type":["string","null"],"description":"The Kombo ID of the application this interview belongs to. The ID can be used to retrieve the application from the `get applications` endpoint."},"custom_fields":{"type":["object","null"],"additionalProperties":true,"description":"A key-value store of fields not covered by the schema. [Read more](/custom-fields)"},"integration_fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object."},"key":{"type":"string","description":"The key of the field in the remote system."},"type":{"type":"string","enum":["DEFAULT","CUSTOM"],"description":"- `DEFAULT`: static fields in the remote system.\n- `CUSTOM`: fields that are created/editable by the user."},"value":{"type":"null","description":"The field's value."},"label":{"type":["string","null"],"description":"The label of the field. (not always available)"}},"required":["id","key","type","label"]},"description":"An array of selected passthrough integration fields. [Read more](/integration-fields)","examples":[[{"id":"5NVFhMpB9Ah6by44tzNjZLyE","key":"firstName","type":"DEFAULT","value":"Frank","label":"First Name"},{"id":"8nuajYpoRd5GnxEQaaWKUDYQ","key":"customTshirtSize","type":"CUSTOM","value":"XL","label":"T-Shirt Size"}]]},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_created_at":{"description":"The date and time the object was created in the remote system.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_updated_at":{"description":"A timestamp retrieved from the remote system, describing when the resource was last updated.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."},"application":{"type":["object","null"],"properties":{"candidate":{"type":["object","null"],"properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"first_name":{"type":["string","null"],"description":"First name of the candidate."},"last_name":{"type":["string","null"],"description":"Last name of the candidate."},"email_addresses":{"type":["array","null"],"items":{"type":"object","properties":{"email_address":{"type":["string","null"],"pattern":"^(?!\\.)(?!.*\\.\\.)([\\w'+-.]*)[\\w+-]@([\\da-z][\\da-z-]*\\.)+[a-z]{2,}$"},"type":{"type":["string","null"],"description":"Kombo exposes type information through this field. If we don't get any information from the tool, we will set this to `null`."}},"required":["type"]},"default":[],"description":"A list of email addresses of the candidate with an optional type. If an email address is invalid, it will be filtered out."}},"required":["id","remote_id","first_name","last_name"],"examples":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","first_name":"John","last_name":"Doe","email_addresses":[{"email_address":"john.doe@example.com","type":"PRIVATE"}]}]},"job":{"type":["object","null"],"properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":["string","null"],"description":"Title of the job."}},"required":["id","remote_id","name"],"examples":[{"id":"H5daSm8e85Dmvmne3wLeCPhX","remote_id":"32","name":"Backend Engineer"}]}},"required":["candidate","job"]}},"required":["id","remote_id","status","employment_start_date","application_id","custom_fields","integration_fields","changed_at","remote_deleted_at","remote_created_at","remote_updated_at","remote_data","application"]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"76bab8LKuFtqpZ89mofCPMHX","remote_id":"6","status":"ACCEPTED","employment_start_date":"2022-08-07T14:01:29.196Z","application_id":"BAkbueBMBusj9Bg7L1Wps3AR","custom_fields":{},"integration_fields":[],"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_created_at":"2022-08-07T14:01:29.196Z","remote_updated_at":"2022-08-07T14:01:29.196Z","remote_data":null,"application":{"candidate":{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","first_name":"John","last_name":"Doe","email_addresses":[{"email_address":"john.doe@example.com","type":"PRIVATE"}]},"job":{"id":"H5daSm8e85Dmvmne3wLeCPhX","remote_id":"32","name":"Backend Engineer"}}}]}]}},"required":["status","data"]},"GetAtsRejectionReasonsParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetAtsRejectionReasonsParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetAtsRejectionReasonsParameterUpdatedAfter":{"description":"Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged.\n\nIf you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden.\n\nFor more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetAtsRejectionReasonsParameterIncludeDeleted":{"type":"string","enum":["true","false"],"default":"false","description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too."},"GetAtsRejectionReasonsParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetAtsRejectionReasonsParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetAtsRejectionReasonsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":["string","null"],"description":"The title of the rejection reason."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."}},"required":["id","remote_id","name","changed_at","remote_deleted_at","remote_data"],"examples":[{"id":"76bab8LKuFtqpZ89mofCPMHX","remote_id":"6","name":"Not a fit","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_data":null}]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"76bab8LKuFtqpZ89mofCPMHX","remote_id":"6","name":"Not a fit","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_data":null}]}]}},"required":["status","data"]},"GetAtsInterviewsParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetAtsInterviewsParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetAtsInterviewsParameterUpdatedAfter":{"description":"Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged.\n\nIf you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden.\n\nFor more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"GetAtsInterviewsParameterIncludeDeleted":{"type":"string","enum":["true","false"],"default":"false","description":"By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too."},"GetAtsInterviewsParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetAtsInterviewsParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetAtsInterviewsParameterJobIds":{"type":"string","description":"Filter by a comma-separated list of job IDs. We will only return interviews for applications associated with any of these jobs."},"GetAtsInterviewsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"title":{"type":["string","null"],"description":"The title of the interview."},"starting_at":{"description":"The start time of the interview.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"ending_at":{"description":"The end time of the interview.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"location":{"type":["object","null"],"properties":{"city":{"type":["string","null"]},"country":{"type":["string","null"],"description":"Contains the ISO2 country code if possible. If not, it contains the original value."},"raw":{"type":["string","null"],"description":"If we have address data, this is filled with the raw address string."},"state":{"type":["string","null"]},"street_1":{"type":["string","null"],"description":"If we can parse the address data, this field contains the first part of the street information."},"street_2":{"type":["string","null"]},"zip_code":{"type":["string","null"]}},"description":"Location of the interview."},"application_id":{"type":["string","null"],"description":"The Kombo ID of the application this interview belongs to. The ID can be used to retrieve the application from the `get applications` endpoint."},"stage_id":{"type":["string","null"],"description":"If a system specifies to which stage this interview belongs to, this field will be the Kombo ID of the application stage. The ID can be used to retrieve the stage from the `get application stages` endpoint."},"canceled":{"type":["boolean","null"],"description":"Whether the interview was canceled or not. If we have no information, this field will be `null`."},"remote_created_at":{"description":"The date and time the object was created in the remote system.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_updated_at":{"description":"A timestamp retrieved from the remote system, describing when the resource was last updated.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"first_name":{"type":["string","null"],"description":"First name of the user."},"last_name":{"type":["string","null"],"description":"Last name of the user."},"email":{"type":["string","null"],"pattern":"^(?!\\.)(?!.*\\.\\.)([\\w'+-.]*)[\\w+-]@([\\da-z][\\da-z-]*\\.)+[a-z]{2,}$","description":"Email of the user. If the email address is invalid, it will be set to null."}},"required":["id","remote_id","first_name","last_name"],"examples":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","first_name":"John","last_name":"Doe","email":"john.doe@kombo.dev"}]}},"application":{"type":["object","null"],"properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"outcome":{"type":["string","null"],"enum":["PENDING","HIRED","DECLINED"],"description":"Parsed status of the application. If Kombo identifies that the application was accepted and the candidate hired, it will be `HIRED`. If the application was rejected or the candidate declined, it will be `DECLINED`. If the application is still in process, it will be `PENDING`.\nKombo will always try to deliver this information as reliably as possible."},"rejection_reason_name":{"type":["string","null"],"description":"Reason for the rejection of the candidate."},"candidate":{"type":["object","null"],"properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"first_name":{"type":["string","null"],"description":"First name of the candidate."},"last_name":{"type":["string","null"],"description":"Last name of the candidate."},"email_addresses":{"type":["array","null"],"items":{"type":"object","properties":{"email_address":{"type":["string","null"],"pattern":"^(?!\\.)(?!.*\\.\\.)([\\w'+-.]*)[\\w+-]@([\\da-z][\\da-z-]*\\.)+[a-z]{2,}$"},"type":{"type":["string","null"],"description":"Kombo exposes type information through this field. If we don't get any information from the tool, we will set this to `null`."}},"required":["type"]},"default":[],"description":"A list of email addresses of the candidate with an optional type. If an email address is invalid, it will be filtered out."}},"required":["id","remote_id","first_name","last_name"],"examples":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","first_name":"John","last_name":"Doe","email_addresses":[{"email_address":"john.doe@example.com","type":"PRIVATE"}]}]},"job":{"type":["object","null"],"properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"name":{"type":["string","null"],"description":"Title of the job."}},"required":["id","remote_id","name"],"examples":[{"id":"H5daSm8e85Dmvmne3wLeCPhX","remote_id":"32","name":"Backend Engineer"}]}},"required":["id","remote_id","outcome","rejection_reason_name","candidate","job"]}},"required":["id","remote_id","title","starting_at","ending_at","application_id","stage_id","canceled","remote_created_at","remote_updated_at","remote_data","changed_at","remote_deleted_at","users","application"]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","title":"Interview with John Doe","starting_at":"2023-06-26T14:30:00.000Z","ending_at":"2023-06-26T15:30:00.000Z","location":{"city":"Berlin","country":"DE","raw":"Berlin, Germany","state":"Berlin","street_1":"Lohmühlenstraße 65","street_2":null,"zip_code":"12435"},"application_id":"H77fDF8uvEzGNPRubiz5DvQ7","stage_id":"H5daSm8e85Dmvmne3wLeCPhX","canceled":false,"remote_created_at":"2022-08-07T14:01:29.196Z","remote_updated_at":"2022-08-07T14:01:29.196Z","remote_data":null,"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"users":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","first_name":"John","last_name":"Doe","email":"john.doe@kombo.dev"}],"application":{"id":"H77fDF8uvEzGNPRubiz5DvQ7","remote_id":"32","outcome":"HIRED","rejection_reason_name":null,"candidate":{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","first_name":"John","last_name":"Doe","email_addresses":[{"email_address":"john.doe@example.com","type":"PRIVATE"}]},"job":{"id":"H5daSm8e85Dmvmne3wLeCPhX","remote_id":"32","name":"Backend Engineer"}}}]}]}},"required":["status","data"]},"GetAtsActionsAtsCreateCandidatePositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"attachment_restrictions":{"type":["object","null"],"properties":{"total_size_bytes":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The maximum total size of all attachments. If null, we don' have information about the total size of all attachments. Make sure to consider the total request size limits of Kombo."},"types":{"type":"object","properties":{"CV":{"anyOf":[{"type":"object","properties":{"is_supported":{"type":"boolean","const":true},"min_amount":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The minimum amount of attachments. If null, we don' have information about the minimum amount."},"max_amount":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The maximum amount of attachments. If null, we don' have information about the maximum amount."},"max_file_size_bytes":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The maximum file size in bytes. If null, we don't have information about the maximum file size."},"accepted_mime_types":{"type":["array","null"],"items":{"type":"string"},"description":"The accepted mime types. If null, we don't have information about the accepted mime types."}},"required":["is_supported","min_amount","max_amount","max_file_size_bytes","accepted_mime_types"]},{"type":"object","properties":{"is_supported":{"type":"boolean","const":false}},"required":["is_supported"]}],"description":"Specific attachment type restrictions for CV."},"COVER_LETTER":{"anyOf":[{"type":"object","properties":{"is_supported":{"type":"boolean","const":true},"min_amount":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The minimum amount of attachments. If null, we don' have information about the minimum amount."},"max_amount":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The maximum amount of attachments. If null, we don' have information about the maximum amount."},"max_file_size_bytes":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The maximum file size in bytes. If null, we don't have information about the maximum file size."},"accepted_mime_types":{"type":["array","null"],"items":{"type":"string"},"description":"The accepted mime types. If null, we don't have information about the accepted mime types."}},"required":["is_supported","min_amount","max_amount","max_file_size_bytes","accepted_mime_types"]},{"type":"object","properties":{"is_supported":{"type":"boolean","const":false}},"required":["is_supported"]}],"description":"Specific attachment type restrictions for COVER_LETTER."},"OTHER":{"anyOf":[{"type":"object","properties":{"is_supported":{"type":"boolean","const":true},"min_amount":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The minimum amount of attachments. If null, we don' have information about the minimum amount."},"max_amount":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The maximum amount of attachments. If null, we don' have information about the maximum amount."},"max_file_size_bytes":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The maximum file size in bytes. If null, we don't have information about the maximum file size."},"accepted_mime_types":{"type":["array","null"],"items":{"type":"string"},"description":"The accepted mime types. If null, we don't have information about the accepted mime types."}},"required":["is_supported","min_amount","max_amount","max_file_size_bytes","accepted_mime_types"]},{"type":"object","properties":{"is_supported":{"type":"boolean","const":false}},"required":["is_supported"]}],"description":"Specific attachment type restrictions for OTHER."}},"required":["CV","COVER_LETTER","OTHER"],"description":"Specific attachment type restrictions for each attachment type. If null, we don' have information about the attachment type restrictions."}},"required":["total_size_bytes","types"],"description":"Restrictions with attachment types that we know about. If this is null, we don't have information about restrictions on attachments."}},"examples":[{"attachment_restrictions":{"total_size_bytes":20000000,"types":{"CV":{"is_supported":true,"min_amount":1,"max_amount":1,"max_file_size_bytes":10000000,"accepted_mime_types":["application/pdf","application/msword"]},"COVER_LETTER":{"is_supported":true,"min_amount":0,"max_amount":null,"max_file_size_bytes":null,"accepted_mime_types":null},"OTHER":{"is_supported":false}}}}]}},"required":["status","data"]},"GetAtsActionsAtsCreateApplicationPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"attachment_restrictions":{"type":["object","null"],"properties":{"total_size_bytes":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The maximum total size of all attachments. If null, we don' have information about the total size of all attachments. Make sure to consider the total request size limits of Kombo."},"types":{"type":"object","properties":{"CV":{"anyOf":[{"type":"object","properties":{"is_supported":{"type":"boolean","const":true},"min_amount":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The minimum amount of attachments. If null, we don' have information about the minimum amount."},"max_amount":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The maximum amount of attachments. If null, we don' have information about the maximum amount."},"max_file_size_bytes":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The maximum file size in bytes. If null, we don't have information about the maximum file size."},"accepted_mime_types":{"type":["array","null"],"items":{"type":"string"},"description":"The accepted mime types. If null, we don't have information about the accepted mime types."}},"required":["is_supported","min_amount","max_amount","max_file_size_bytes","accepted_mime_types"]},{"type":"object","properties":{"is_supported":{"type":"boolean","const":false}},"required":["is_supported"]}],"description":"Specific attachment type restrictions for CV."},"COVER_LETTER":{"anyOf":[{"type":"object","properties":{"is_supported":{"type":"boolean","const":true},"min_amount":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The minimum amount of attachments. If null, we don' have information about the minimum amount."},"max_amount":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The maximum amount of attachments. If null, we don' have information about the maximum amount."},"max_file_size_bytes":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The maximum file size in bytes. If null, we don't have information about the maximum file size."},"accepted_mime_types":{"type":["array","null"],"items":{"type":"string"},"description":"The accepted mime types. If null, we don't have information about the accepted mime types."}},"required":["is_supported","min_amount","max_amount","max_file_size_bytes","accepted_mime_types"]},{"type":"object","properties":{"is_supported":{"type":"boolean","const":false}},"required":["is_supported"]}],"description":"Specific attachment type restrictions for COVER_LETTER."},"OTHER":{"anyOf":[{"type":"object","properties":{"is_supported":{"type":"boolean","const":true},"min_amount":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The minimum amount of attachments. If null, we don' have information about the minimum amount."},"max_amount":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The maximum amount of attachments. If null, we don' have information about the maximum amount."},"max_file_size_bytes":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The maximum file size in bytes. If null, we don't have information about the maximum file size."},"accepted_mime_types":{"type":["array","null"],"items":{"type":"string"},"description":"The accepted mime types. If null, we don't have information about the accepted mime types."}},"required":["is_supported","min_amount","max_amount","max_file_size_bytes","accepted_mime_types"]},{"type":"object","properties":{"is_supported":{"type":"boolean","const":false}},"required":["is_supported"]}],"description":"Specific attachment type restrictions for OTHER."}},"required":["CV","COVER_LETTER","OTHER"],"description":"Specific attachment type restrictions for each attachment type. If null, we don' have information about the attachment type restrictions."}},"required":["total_size_bytes","types"],"description":"Restrictions with attachment types that we know about. If this is null, we don't have information about restrictions on attachments."}},"examples":[{"attachment_restrictions":{"total_size_bytes":20000000,"types":{"CV":{"is_supported":true,"min_amount":1,"max_amount":1,"max_file_size_bytes":10000000,"accepted_mime_types":["application/pdf","application/msword"]},"COVER_LETTER":{"is_supported":true,"min_amount":0,"max_amount":null,"max_file_size_bytes":null,"accepted_mime_types":null},"OTHER":{"is_supported":false}}}}]}},"required":["status","data"]},"GetAtsActionsAtsAddApplicationAttachmentPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"attachment_restrictions":{"type":["object","null"],"properties":{"types":{"type":"object","properties":{"CV":{"anyOf":[{"type":"object","properties":{"is_supported":{"type":"boolean","const":true},"max_file_size_bytes":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The maximum file size in bytes. If null, we don't have information about the maximum file size."},"accepted_mime_types":{"type":["array","null"],"items":{"type":"string"},"description":"The accepted mime types. If null, we don't have information about the accepted mime types."}},"required":["is_supported","max_file_size_bytes","accepted_mime_types"]},{"type":"object","properties":{"is_supported":{"type":"boolean","const":false}},"required":["is_supported"]}],"description":"Specific attachment type restrictions for CV."},"COVER_LETTER":{"anyOf":[{"type":"object","properties":{"is_supported":{"type":"boolean","const":true},"max_file_size_bytes":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The maximum file size in bytes. If null, we don't have information about the maximum file size."},"accepted_mime_types":{"type":["array","null"],"items":{"type":"string"},"description":"The accepted mime types. If null, we don't have information about the accepted mime types."}},"required":["is_supported","max_file_size_bytes","accepted_mime_types"]},{"type":"object","properties":{"is_supported":{"type":"boolean","const":false}},"required":["is_supported"]}],"description":"Specific attachment type restrictions for COVER_LETTER."},"OTHER":{"anyOf":[{"type":"object","properties":{"is_supported":{"type":"boolean","const":true},"max_file_size_bytes":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The maximum file size in bytes. If null, we don't have information about the maximum file size."},"accepted_mime_types":{"type":["array","null"],"items":{"type":"string"},"description":"The accepted mime types. If null, we don't have information about the accepted mime types."}},"required":["is_supported","max_file_size_bytes","accepted_mime_types"]},{"type":"object","properties":{"is_supported":{"type":"boolean","const":false}},"required":["is_supported"]}],"description":"Specific attachment type restrictions for OTHER."}},"required":["CV","COVER_LETTER","OTHER"]}},"required":["types"],"description":"Restrictions with attachment types that we know about. If this is null, we don't have information which types are supported."}},"examples":[{"attachment_restrictions":{"types":{"CV":{"is_supported":false},"COVER_LETTER":{"is_supported":false},"OTHER":{"is_supported":true,"max_file_size_bytes":10485760,"accepted_mime_types":["application/pdf","application/msword"]}}}}]}},"required":["status","data"]},"GetAtsActionsAtsAddCandidateAttachmentPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"attachment_restrictions":{"type":["object","null"],"properties":{"types":{"type":"object","properties":{"CV":{"anyOf":[{"type":"object","properties":{"is_supported":{"type":"boolean","const":true},"max_file_size_bytes":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The maximum file size in bytes. If null, we don't have information about the maximum file size."},"accepted_mime_types":{"type":["array","null"],"items":{"type":"string"},"description":"The accepted mime types. If null, we don't have information about the accepted mime types."}},"required":["is_supported","max_file_size_bytes","accepted_mime_types"]},{"type":"object","properties":{"is_supported":{"type":"boolean","const":false}},"required":["is_supported"]}],"description":"Specific attachment type restrictions for CV."},"COVER_LETTER":{"anyOf":[{"type":"object","properties":{"is_supported":{"type":"boolean","const":true},"max_file_size_bytes":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The maximum file size in bytes. If null, we don't have information about the maximum file size."},"accepted_mime_types":{"type":["array","null"],"items":{"type":"string"},"description":"The accepted mime types. If null, we don't have information about the accepted mime types."}},"required":["is_supported","max_file_size_bytes","accepted_mime_types"]},{"type":"object","properties":{"is_supported":{"type":"boolean","const":false}},"required":["is_supported"]}],"description":"Specific attachment type restrictions for COVER_LETTER."},"OTHER":{"anyOf":[{"type":"object","properties":{"is_supported":{"type":"boolean","const":true},"max_file_size_bytes":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"The maximum file size in bytes. If null, we don't have information about the maximum file size."},"accepted_mime_types":{"type":["array","null"],"items":{"type":"string"},"description":"The accepted mime types. If null, we don't have information about the accepted mime types."}},"required":["is_supported","max_file_size_bytes","accepted_mime_types"]},{"type":"object","properties":{"is_supported":{"type":"boolean","const":false}},"required":["is_supported"]}],"description":"Specific attachment type restrictions for OTHER."}},"required":["CV","COVER_LETTER","OTHER"]}},"required":["types"],"description":"Restrictions with attachment types that we know about. If this is null, we don't have information which types are supported."}},"examples":[{"attachment_restrictions":{"types":{"CV":{"is_supported":false},"COVER_LETTER":{"is_supported":false},"OTHER":{"is_supported":true,"max_file_size_bytes":10485760,"accepted_mime_types":["application/pdf","application/msword"]}}}}]}},"required":["status","data"]},"PostAtsImportTrackedApplicationPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":"string","minLength":24,"maxLength":24,"pattern":"^[1-9A-HJ-NP-Za-km-z]+$"},"tracked_at":{"description":"YYYY-MM-DDTHH:mm:ss.sssZ","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"imported_id":{"type":"object","properties":{"erecruiter":{"discriminator":{"propertyName":"id_type"},"anyOf":[{"type":"object","properties":{"id_type":{"type":"string","const":"application_and_job_remote_ids","description":"Uses the `Api/Applications/ByJob/{jobId}` endpoint to retrieve the relevant application based on the job ID."},"application_remote_id":{"type":"string"},"job_remote_id":{"type":"string"}},"required":["id_type","application_remote_id","job_remote_id"]},{"type":"object","properties":{"id_type":{"type":"string","const":"application_and_candidate_remote_ids","description":"Uses the `Api/Applications/{applicantId}` endpoint to retrieve the relevant application based on the candidate ID."},"candidate_remote_id":{"type":"string"},"application_remote_id":{"type":"string"}},"required":["id_type","candidate_remote_id","application_remote_id"]}]},"successfactors":{"discriminator":{"propertyName":"id_type"},"oneOf":[{"type":"object","properties":{"id_type":{"type":"string","const":"application_remote_id","description":"Uses the `/JobApplication` ODATA endpoint to retrieve the relevant application based on the application ID."},"application_remote_id":{"type":"string"}},"required":["id_type","application_remote_id"]}]},"recruitee":{"discriminator":{"propertyName":"id_type"},"oneOf":[{"type":"object","properties":{"id_type":{"type":"string","const":"placement_id","description":"Uses the `/candidates` endpoint to retrieve all candidates, to find the relevant application based on the placement ID."},"placement_id":{"type":"string"}},"required":["id_type","placement_id"]}]},"greenhouse":{"discriminator":{"propertyName":"id_type"},"oneOf":[{"type":"object","properties":{"id_type":{"type":"string","const":"application_id","description":"Uses the `/applications/{id}` endpoint to retrieve the application."},"application_id":{"type":"string"}},"required":["id_type","application_id"]}]},"onlyfy":{"discriminator":{"propertyName":"id_type"},"oneOf":[{"type":"object","properties":{"id_type":{"type":"string","const":"application_id","description":"Uses the `/v1/application/{id}` endpoint to retrieve the application."},"application_id":{"type":"string"}},"required":["id_type","application_id"]}]},"smartrecruiters":{"discriminator":{"propertyName":"id_type"},"oneOf":[{"type":"object","properties":{"id_type":{"type":"string","const":"candidate_and_job_remote_ids","description":"Uses the `/candidates/{candidateId}/jobs/{jobId}` endpoint to retrieve the application."},"candidate_remote_id":{"type":"string"},"job_remote_id":{"type":"string"}},"required":["id_type","candidate_remote_id","job_remote_id"]}]}}}},"required":["id","tracked_at","imported_id"],"examples":[{"id":"5wdtQtJei2oVhJKya2V1KZLM","tracked_at":"2025-02-11T15:37:37.000Z","imported_id":{"successfactors":{"id_type":"application_remote_id","application_remote_id":"1224042"}}}]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PostAtsImportTrackedApplicationRequestBody":{"type":"object","properties":{"erecruiter":{"discriminator":{"propertyName":"id_type"},"anyOf":[{"type":"object","properties":{"id_type":{"type":"string","const":"application_and_job_remote_ids","description":"Uses the `Api/Applications/ByJob/{jobId}` endpoint to retrieve the relevant application based on the job ID."},"application_remote_id":{"type":"string"},"job_remote_id":{"type":"string"}},"required":["id_type","application_remote_id","job_remote_id"]},{"type":"object","properties":{"id_type":{"type":"string","const":"application_and_candidate_remote_ids","description":"Uses the `Api/Applications/{applicantId}` endpoint to retrieve the relevant application based on the candidate ID."},"candidate_remote_id":{"type":"string"},"application_remote_id":{"type":"string"}},"required":["id_type","candidate_remote_id","application_remote_id"]}]},"successfactors":{"discriminator":{"propertyName":"id_type"},"oneOf":[{"type":"object","properties":{"id_type":{"type":"string","const":"application_remote_id","description":"Uses the `/JobApplication` ODATA endpoint to retrieve the relevant application based on the application ID."},"application_remote_id":{"type":"string"}},"required":["id_type","application_remote_id"]}]},"recruitee":{"discriminator":{"propertyName":"id_type"},"oneOf":[{"type":"object","properties":{"id_type":{"type":"string","const":"placement_id","description":"Uses the `/candidates` endpoint to retrieve all candidates, to find the relevant application based on the placement ID."},"placement_id":{"type":"string"}},"required":["id_type","placement_id"]}]},"greenhouse":{"discriminator":{"propertyName":"id_type"},"oneOf":[{"type":"object","properties":{"id_type":{"type":"string","const":"application_id","description":"Uses the `/applications/{id}` endpoint to retrieve the application."},"application_id":{"type":"string"}},"required":["id_type","application_id"]}]},"onlyfy":{"discriminator":{"propertyName":"id_type"},"oneOf":[{"type":"object","properties":{"id_type":{"type":"string","const":"application_id","description":"Uses the `/v1/application/{id}` endpoint to retrieve the application."},"application_id":{"type":"string"}},"required":["id_type","application_id"]}]},"smartrecruiters":{"discriminator":{"propertyName":"id_type"},"oneOf":[{"type":"object","properties":{"id_type":{"type":"string","const":"candidate_and_job_remote_ids","description":"Uses the `/candidates/{candidateId}/jobs/{jobId}` endpoint to retrieve the application."},"candidate_remote_id":{"type":"string"},"job_remote_id":{"type":"string"}},"required":["id_type","candidate_remote_id","job_remote_id"]}]},"tracked_at":{"description":"YYYY-MM-DDTHH:mm:ss.sssZ","type":["string","null"],"format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}}},"required":["tracked_at"]},"GetAssessmentPackagesPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"packages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"updated_at":{"description":"YYYY-MM-DDTHH:mm:ss.sssZ","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"type":{"type":["string","null"],"enum":["BEHAVIORAL","VIDEO_INTERVIEW","SKILLS_TEST","BACKGROUND_CHECK","REFERENCE_CHECK"]}},"required":["id","name","description","updated_at","type"]}}},"required":["packages"],"examples":[{"packages":[{"id":"1001","name":"TypeScript","description":"TypeScript coding skills assessments","updated_at":"2023-06-29T18:47:40.890Z","type":"SKILLS_TEST"}]}]}},"required":["status","data"]},"PutAssessmentPackagesPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object"},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PutAssessmentPackagesRequestBody":{"type":"object","properties":{"packages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"A unique identifier for the assessment package."},"type":{"type":"string","enum":["BEHAVIORAL","VIDEO_INTERVIEW","SKILLS_TEST","BACKGROUND_CHECK","REFERENCE_CHECK"]},"name":{"type":"string","description":"The name of the assessment package."},"description":{"type":"string","description":"Description about the package. Some ATSs will display this in their UI."}},"required":["id","type","name","description"]}}},"required":["packages"]},"GetAssessmentOrdersOpenParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetAssessmentOrdersOpenParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetAssessmentOrdersOpenPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"]},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the assessment order.","examples":["B5KQKhAgTv6ZwzrfAbqbhipd"]},"package_id":{"type":"string","description":"The identifier of the assessment package.","examples":["typescript_test"]},"candidate":{"type":"object","properties":{"email":{"type":"string","description":"The candidate's email address.","examples":["john.doe@gmail.com"],"format":"email"},"first_name":{"type":["string","null"],"description":"The candidate's first name.","examples":["John"]},"last_name":{"type":["string","null"],"description":"The candidate's last name.","examples":["Doe"]},"phone":{"type":["string","null"],"description":"The candidate's phone number.","examples":["+1 123 456 7890"]},"remote_id":{"type":["string","null"],"description":"The candidate's identifier in the integrated system.","examples":["12345"]}},"required":["email"],"description":"Information about the candidate taking the assessment."},"application":{"type":"object","properties":{"remote_id":{"type":["string","null"],"description":"The application's identifier in the integrated system.","examples":["54321"]}},"description":"Information about the job application."},"job":{"type":"object","properties":{"remote_id":{"type":["string","null"],"description":"The job's identifier in the integrated system.","examples":["67890"]},"name":{"type":["string","null"],"description":"The job title.","examples":["Engineering Manager"]},"location":{"type":["object","null"],"properties":{"city":{"type":["string","null"]},"country":{"type":["string","null"],"description":"Contains the ISO2 country code if possible. If not, it contains the original value."},"raw":{"type":["string","null"],"description":"If we have address data, this is filled with the raw address string."},"state":{"type":["string","null"]},"street_1":{"type":["string","null"],"description":"If we can parse the address data, this field contains the first part of the street information."},"street_2":{"type":["string","null"]},"zip_code":{"type":["string","null"]}},"description":"The job location information."},"hiring_team":{"type":"array","items":{"type":"object","properties":{"remote_id":{"type":"string","description":"The team member's identifier in the integrated system.","examples":["78901"]},"email":{"type":["string","null"],"description":"The team member's email address.","examples":["jane.doe@gmail.com"]},"first_name":{"type":["string","null"],"description":"The team member's first name.","examples":["Jane"]},"last_name":{"type":["string","null"],"description":"The team member's last name.","examples":["Doe"]},"hiring_team_roles":{"type":"array","items":{"type":"string","enum":["RECRUITER","HIRING_MANAGER"],"examples":["RECRUITER"]},"description":"Array of the roles of the user for this specific job. Currently only `RECRUITER` and `HIRING_MANAGER` are mapped into our unified schema.","examples":[["RECRUITER"]]}},"required":["remote_id","email","first_name","last_name","hiring_team_roles"],"description":"A member of the hiring team."},"description":"The hiring team allows you to sync users into your system who can access the job and its applications."}},"required":["hiring_team"],"description":"Information about the job posting."}},"required":["id","package_id","candidate","application","job"],"examples":[{"id":"B5KQKhAgTv6ZwzrfAbqbhipd","package_id":"typescript_test","candidate":{"email":"john.doe@gmail.com","first_name":"John","last_name":"Doe","phone":"+1 123 456 7890","remote_id":"12345"},"application":{"remote_id":"54321"},"job":{"remote_id":"67890","name":"Engineering Manager","location":{"city":"Berlin","country":"DE","raw":"Berlin, Germany","state":"Berlin","street_1":"Lohmühlenstraße 65","street_2":null,"zip_code":"12435"},"hiring_team":[{"remote_id":"78901","email":"jane.doe@gmail.com","first_name":"Jane","last_name":"Doe","hiring_team_roles":["RECRUITER"]}]}}]}}},"required":["next","results"]}},"required":["status","data"]},"PutAssessmentOrdersAssessmentOrderIdResultParameterAssessmentOrderId":{"type":"string"},"PutAssessmentOrdersAssessmentOrderIdResultPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object"},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PutAssessmentOrdersAssessmentOrderIdResultRequestBody":{"type":"object","properties":{"status":{"type":"string","enum":["COMPLETED","CANCELLED","OPEN"],"description":"Status of the assessment.\n\n**Please note the `status` can only be updated to a different value if its current value is `OPEN`.**"},"result_url":{"type":"string","format":"uri"},"completed_at":{"description":"YYYY-MM-DDTHH:mm:ss.sssZ\n\n**Please make sure this value is provided when the `status` is of the type `COMPLETED` or `CANCELLED`.**","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"score":{"type":"number","format":"double","minimum":-1.7976931348623157e+308},"max_score":{"type":"number","format":"double","minimum":-1.7976931348623157e+308},"attributes":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"TEXT"},"label":{"type":"string"},"value":{"type":"string"}},"required":["type","label","value"]},{"type":"object","properties":{"type":{"type":"string","const":"SUB_RESULT"},"id":{"type":"string"},"label":{"type":"string"},"score":{"type":"object","properties":{"value":{"type":"number","format":"double","minimum":-1.7976931348623157e+308},"max":{"type":"number","format":"double","minimum":1}},"required":["value","max"]},"status":{"type":"string","enum":["COMPLETED","CANCELLED"]}},"required":["type","id","label","score","status"]}]},"default":[],"description":"An array of additional attributes that you would like to submit as a part of the assessment result.\n\n- If an ATS only supports writing text attributes, we will transform non `TEXT` attributes into formatted plain text values."},"attachments":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"File name of the file you want to upload. We recommend providing something human-readable with a valid file extension (like `Resume.pdf`), as this might be shown in your customer's system."},"content_type":{"type":"string","pattern":"^[\\w.-]+\\/[\\w.-]+$","description":"Content/MIME type of the file (e.g., `application/pdf`).\n\nIf you provide `data`, this is required. If you provide `data_url`, this is optional and we'll attempt to use the `Content-Type` header of the response.\n\n**Note:** Please validate that the content type you provide is actually meaningful (and not something generic like [`application/octet-stream`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/MIME_types#applicationoctet-stream)). Especially when using object storage (like AWS S3), it's easy to accidentally discard the content types of user-provided files, so make sure to explicitly persist them when processing uploads from your users (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html#SysMetadata), [Google Cloud](https://cloud.google.com/storage/docs/metadata#content-type), and [Azure](https://learn.microsoft.com/en-us/rest/api/storageservices/put-blob#request-headers-all-blob-types))."},"data_url":{"type":"string","format":"uri","description":"URL to the file you want to upload that can be accessed without authentication headers. We will download the content immediately when receiving the request, so the URL can be short-lived.\n\nIf you're using an object storage provider (like AWS S3), we strongly recommend providing a signed URL for secure access (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html), [Google Cloud](https://cloud.google.com/storage/docs/access-control/signed-urls), and [Azure](https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview)).\n\n**Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases."},"data":{"type":"string","description":"Base64-encoded contents of the file you want to upload.\n\n**Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases."}},"required":["name"]},"maxItems":5,"default":[],"description":"An array of attachments containing the assessment result."},"remote_fields":{"type":"object","properties":{"smartrecruiters":{"type":"object","properties":{"scoreLabel":{"type":"string","description":"Value that we will pass through to SmartRecruiters' `scoreLabel` field."}}}},"description":"Additional fields that we will pass through to specific ATS systems."}},"required":["status","result_url"]},"GetLmsUsersParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetLmsUsersParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetLmsUsersParameterEmail":{"type":"string","description":"Filter users by their work email address."},"GetLmsUsersParameterStatus":{"type":"string","enum":["ACTIVE","INACTIVE"],"description":"Filter users by their current status."},"GetLmsUsersPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"first_name":{"type":["string","null"],"description":"The user's first name."},"last_name":{"type":["string","null"],"description":"The user's last name."},"work_email":{"type":["string","null"],"description":"The user's work email address."},"status":{"type":"string","enum":["ACTIVE","INACTIVE"],"description":"Current status of the user in the LMS."},"remote_created_at":{"description":"The date and time the object was created in the remote system.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"progress":{"type":"array","items":{"type":"object","properties":{"course_id":{"type":"string","description":"The ID of the course this progress relates to."},"progress_id":{"type":"string","description":"Unique identifier for this progress entry."},"status":{"type":"string","enum":["ENROLLED","STARTED","COMPLETED","STOPPED"],"description":"Current status of the learner in this course."},"enrollment_date":{"type":["string","null"],"description":"Date when the user enrolled in the course."},"completion_date":{"type":["string","null"],"description":"Date when the user completed the course."},"score":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"Numerical score achieved by the user (e.g., 85.5)."},"duration":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"Total time spent on the course in minutes."},"comments":{"type":["string","null"],"description":"Additional comments or notes about the progress."}},"required":["course_id","progress_id","status","enrollment_date","completion_date","score","duration","comments"]},"description":"Array of course progress records for this user."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."}},"required":["id","remote_id","first_name","last_name","work_email","status","remote_created_at","progress","changed_at","remote_data"],"examples":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","first_name":"Sarah","last_name":"Johnson","work_email":"sarah.johnson@acme.com","status":"ACTIVE","remote_created_at":"2022-08-07T14:01:29.196Z","progress":[{"course_id":"3KMdr68N8kG9EzLwjsN9aoz","progress_id":"7xPdr68N8kG9EzLwjsN9xyz","status":"COMPLETED","enrollment_date":"2024-03-01T10:00:00.000Z","completion_date":"2024-04-15T16:30:00.000Z","score":92.5,"duration":480,"comments":"Excellent performance throughout the course."},{"course_id":"9ZMdr68N8kG9EzLwjsN9def","progress_id":"2wQdr68N8kG9EzLwjsN9abc","status":"STARTED","enrollment_date":"2024-05-10T08:00:00.000Z","completion_date":null,"score":null,"duration":120,"comments":null}],"changed_at":"2022-08-07T14:01:29.196Z","remote_data":null}]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","first_name":"Sarah","last_name":"Johnson","work_email":"sarah.johnson@acme.com","status":"ACTIVE","remote_created_at":"2022-08-07T14:01:29.196Z","progress":[{"course_id":"3KMdr68N8kG9EzLwjsN9aoz","progress_id":"7xPdr68N8kG9EzLwjsN9xyz","status":"COMPLETED","enrollment_date":"2024-03-01T10:00:00.000Z","completion_date":"2024-04-15T16:30:00.000Z","score":92.5,"duration":480,"comments":"Excellent performance throughout the course."},{"course_id":"9ZMdr68N8kG9EzLwjsN9def","progress_id":"2wQdr68N8kG9EzLwjsN9abc","status":"STARTED","enrollment_date":"2024-05-10T08:00:00.000Z","completion_date":null,"score":null,"duration":120,"comments":null}],"changed_at":"2022-08-07T14:01:29.196Z","remote_data":null}]}]}},"required":["status","data"]},"GetLmsCoursesParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetLmsCoursesParameterRemoteIds":{"type":"string","description":"Filter by a comma-separated list of remote IDs."},"GetLmsCoursesParameterTitleContains":{"type":"string","description":"Filter by the `title` field. Can be used to find courses by keywords present in the course title."},"GetLmsCoursesPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"next":{"type":["string","null"],"description":"Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages."},"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"title":{"type":"string","description":"The title of the course."},"description":{"type":["string","null"],"description":"A description of the course."},"url":{"type":["string","null"],"description":"URL where the course can be accessed."},"remote_created_at":{"description":"The date and time the object was created in the remote system.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"skills":{"type":["array","null"],"items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the skill."},"skill_level":{"type":["string","null"],"description":"The proficiency level of the skill (e.g., \"Beginner\", \"Intermediate\", \"Advanced\")."}},"required":["name","skill_level"]},"description":"Skills that learners will develop by completing this course."},"ordered_content":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The Kombo ID of the content item."},"remote_id":{"type":"string","description":"The remote ID of the content item."},"title":{"type":"string","description":"The title of the content item."},"description":{"type":["string","null"],"description":"A description of the content item."},"url":{"type":["string","null"],"description":"URL where the content can be accessed."},"type":{"type":"string","enum":["COACHING","VIDEO","TEXT","QUIZ"],"description":"The type of learning content."},"remote_created_at":{"description":"The date and time the object was created in the remote system.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}}},"required":["id","remote_id","title","description","url","type","remote_created_at"]},"description":"Ordered list of content items that make up this course."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"type":["string","null"],"description":"Date when the course was deleted."},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."}},"required":["id","remote_id","title","description","url","remote_created_at","skills","ordered_content","changed_at","remote_deleted_at","remote_data"],"examples":[{"id":"3KMdr68N8kG9EzLwjsN9aoz","remote_id":"42","title":"TypeScript for Beginners","description":"A comprehensive introduction to TypeScript programming, covering types, interfaces, generics, and best practices for modern web development.","url":"https://learning.acme.com/courses/typescript-beginners","remote_created_at":"2022-08-07T14:01:29.196Z","skills":[{"name":"TypeScript Programming","skill_level":"Beginner"},{"name":"JavaScript Fundamentals","skill_level":"Intermediate"}],"ordered_content":[{"id":"8DMdr68N8kG9EzLwjsN9content1","remote_id":"101","title":"Introduction to TypeScript","description":"Learn what TypeScript is and why it matters","url":"https://learning.acme.com/courses/typescript-beginners/intro","type":"VIDEO","remote_created_at":"2022-08-07T14:01:29.196Z"},{"id":"9EMdr68N8kG9EzLwjsN9content2","remote_id":"102","title":"Basic Types","description":"Understanding TypeScript type system","url":"https://learning.acme.com/courses/typescript-beginners/types","type":"TEXT","remote_created_at":"2022-08-07T14:01:29.196Z"},{"id":"1FMdr68N8kG9EzLwjsN9content3","remote_id":"103","title":"Types Quiz","description":"Test your understanding of TypeScript types","url":"https://learning.acme.com/courses/typescript-beginners/quiz-1","type":"QUIZ","remote_created_at":"2022-08-07T14:01:29.196Z"}],"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_data":null}]}}},"required":["next","results"],"examples":[{"next":"eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=","results":[{"id":"3KMdr68N8kG9EzLwjsN9aoz","remote_id":"42","title":"TypeScript for Beginners","description":"A comprehensive introduction to TypeScript programming, covering types, interfaces, generics, and best practices for modern web development.","url":"https://learning.acme.com/courses/typescript-beginners","remote_created_at":"2022-08-07T14:01:29.196Z","skills":[{"name":"TypeScript Programming","skill_level":"Beginner"},{"name":"JavaScript Fundamentals","skill_level":"Intermediate"}],"ordered_content":[{"id":"8DMdr68N8kG9EzLwjsN9content1","remote_id":"101","title":"Introduction to TypeScript","description":"Learn what TypeScript is and why it matters","url":"https://learning.acme.com/courses/typescript-beginners/intro","type":"VIDEO","remote_created_at":"2022-08-07T14:01:29.196Z"},{"id":"9EMdr68N8kG9EzLwjsN9content2","remote_id":"102","title":"Basic Types","description":"Understanding TypeScript type system","url":"https://learning.acme.com/courses/typescript-beginners/types","type":"TEXT","remote_created_at":"2022-08-07T14:01:29.196Z"},{"id":"1FMdr68N8kG9EzLwjsN9content3","remote_id":"103","title":"Types Quiz","description":"Test your understanding of TypeScript types","url":"https://learning.acme.com/courses/typescript-beginners/quiz-1","type":"QUIZ","remote_created_at":"2022-08-07T14:01:29.196Z"}],"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_data":null}]}]}},"required":["status","data"]},"PostLmsCoursesPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"title":{"type":"string","description":"The title of the course."},"description":{"type":["string","null"],"description":"A description of the course."},"url":{"type":["string","null"],"description":"URL where the course can be accessed."},"remote_created_at":{"description":"The date and time the object was created in the remote system.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"skills":{"type":["array","null"],"items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the skill."},"skill_level":{"type":["string","null"],"description":"The proficiency level of the skill (e.g., \"Beginner\", \"Intermediate\", \"Advanced\")."}},"required":["name","skill_level"]},"description":"Skills that learners will develop by completing this course."},"ordered_content":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The Kombo ID of the content item."},"remote_id":{"type":"string","description":"The remote ID of the content item."},"title":{"type":"string","description":"The title of the content item."},"description":{"type":["string","null"],"description":"A description of the content item."},"url":{"type":["string","null"],"description":"URL where the content can be accessed."},"type":{"type":"string","enum":["COACHING","VIDEO","TEXT","QUIZ"],"description":"The type of learning content."},"remote_created_at":{"description":"The date and time the object was created in the remote system.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}}},"required":["id","remote_id","title","description","url","type","remote_created_at"]},"description":"Ordered list of content items that make up this course."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"type":["string","null"],"description":"Date when the course was deleted."},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."}},"required":["id","remote_id","title","description","url","remote_created_at","skills","ordered_content","changed_at","remote_deleted_at","remote_data"],"examples":[{"id":"3KMdr68N8kG9EzLwjsN9aoz","remote_id":"42","title":"TypeScript for Beginners","description":"A comprehensive introduction to TypeScript programming, covering types, interfaces, generics, and best practices for modern web development.","url":"https://learning.acme.com/courses/typescript-beginners","remote_created_at":"2022-08-07T14:01:29.196Z","skills":[{"name":"TypeScript Programming","skill_level":"Beginner"},{"name":"JavaScript Fundamentals","skill_level":"Intermediate"}],"ordered_content":[],"changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_data":null}]}},"required":["status","data"]},"PostLmsCoursesRequestBody":{"type":"object","properties":{"title":{"type":"string","description":"The title of the course"},"description":{"type":["string","null"],"description":"A description of the course"},"url":{"type":["string","null"],"description":"URL where the course can be accessed"},"skills":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the skill"},"skill_level":{"type":["string","null"],"description":"The proficiency level of the skill"}},"required":["name"]},"description":"Skills that will be taught in this course"}},"required":["title"]},"PostLmsProgressPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The Kombo ID of the progress entry."},"remote_id":{"type":"string","description":"The remote ID of the progress entry."},"course_id":{"type":"string","description":"The ID of the course this progress relates to."},"user_id":{"type":"string","description":"The ID of the user this progress belongs to."},"status":{"type":"string","enum":["ENROLLED","STARTED","COMPLETED","STOPPED"],"description":"Current status of the learner in this course."},"enrollment_date":{"type":["string","null"],"description":"Date when the user enrolled in the course."},"completion_date":{"type":["string","null"],"description":"Date when the user completed the course."},"score":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"Numerical score achieved by the user (e.g., 85.5)."},"duration":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"Total time spent on the course in minutes."},"comments":{"type":["string","null"],"description":"Additional comments or notes about the progress."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."}},"required":["id","remote_id","course_id","user_id","status","enrollment_date","completion_date","score","duration","comments","changed_at","remote_data"],"examples":[{"id":"7xPdr68N8kG9EzLwjsN9xyz","remote_id":"892476","course_id":"3KMdr68N8kG9EzLwjsN9aoz","user_id":"26vafvWSRmbhNcxJYqjCzuJg","status":"COMPLETED","enrollment_date":"2024-03-01T10:00:00.000Z","completion_date":"2024-04-15T16:30:00.000Z","score":92.5,"duration":480,"comments":"Excellent performance throughout the course.","changed_at":"2022-08-07T14:01:29.196Z","remote_data":null}]}},"required":["status","data"]},"PostLmsProgressRequestBody":{"type":"object","properties":{"course_id":{"type":"string","description":"The ID of the course."},"user_id":{"type":"string","description":"The ID of the user."},"progress_id":{"type":"string","description":"Unique identifier for this progress entry."},"status":{"type":"string","enum":["ENROLLED","STARTED","COMPLETED","STOPPED"],"description":"Current status of the learner in this course."},"enrollment_date":{"type":"string","description":"Date when the user enrolled in the course."},"completion_date":{"type":["string","null"],"description":"Date when the user completed the course."},"score":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"Numerical score achieved (e.g., 85.5)."},"duration":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"Total time spent on the course in minutes."},"comments":{"type":["string","null"],"description":"Additional comments or notes."}},"required":["course_id","user_id","progress_id","status","enrollment_date"]},"PatchLmsProgressProgressIdParameterProgressId":{"type":"string","description":"The ID of the progress entry"},"PatchLmsProgressProgressIdPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The Kombo ID of the progress entry."},"remote_id":{"type":"string","description":"The remote ID of the progress entry."},"course_id":{"type":"string","description":"The ID of the course this progress relates to."},"user_id":{"type":"string","description":"The ID of the user this progress belongs to."},"status":{"type":"string","enum":["ENROLLED","STARTED","COMPLETED","STOPPED"],"description":"Current status of the learner in this course."},"enrollment_date":{"type":["string","null"],"description":"Date when the user enrolled in the course."},"completion_date":{"type":["string","null"],"description":"Date when the user completed the course."},"score":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"Numerical score achieved by the user (e.g., 85.5)."},"duration":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"Total time spent on the course in minutes."},"comments":{"type":["string","null"],"description":"Additional comments or notes about the progress."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."}},"required":["id","remote_id","course_id","user_id","status","enrollment_date","completion_date","score","duration","comments","changed_at","remote_data"],"examples":[{"id":"7xPdr68N8kG9EzLwjsN9xyz","remote_id":"892476","course_id":"3KMdr68N8kG9EzLwjsN9aoz","user_id":"26vafvWSRmbhNcxJYqjCzuJg","status":"COMPLETED","enrollment_date":"2024-03-01T10:00:00.000Z","completion_date":"2024-04-15T16:30:00.000Z","score":92.5,"duration":480,"comments":"Excellent performance throughout the course.","changed_at":"2022-08-07T14:01:29.196Z","remote_data":null}]}},"required":["status","data"]},"PatchLmsProgressProgressIdRequestBody":{"type":"object","properties":{"course_id":{"type":"string","description":"The ID of the course."},"user_id":{"type":"string","description":"The ID of the user."},"status":{"type":"string","enum":["ENROLLED","STARTED","COMPLETED","STOPPED"],"description":"Current status of the learner in this course."},"enrollment_date":{"type":"string","description":"Date when the user enrolled in the course."},"completion_date":{"type":["string","null"],"description":"Date when the user completed the course."},"score":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"Numerical score achieved (e.g., 85.5)."},"duration":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"Total time spent on the course in minutes."},"comments":{"type":["string","null"],"description":"Additional comments or notes."}}},"PostLmsContentPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"title":{"type":"string","description":"The title of the content item."},"description":{"type":["string","null"],"description":"A description of the content item."},"url":{"type":["string","null"],"description":"URL where the content can be accessed."},"type":{"type":"string","enum":["COACHING","VIDEO","TEXT","QUIZ"],"description":"The type of learning content."},"course_id":{"type":["string","null"],"description":"The ID of the course this content belongs to."},"remote_created_at":{"description":"The date and time the object was created in the remote system.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."}},"required":["id","remote_id","title","description","url","type","course_id","remote_created_at","changed_at","remote_data"],"examples":[{"id":"8DMdr68N8kG9EzLwjsN9content1","remote_id":"101","title":"Understanding Async/Await","description":"Deep dive into asynchronous programming patterns in TypeScript, covering promises, async/await syntax, and error handling.","url":"https://learning.acme.com/courses/typescript-advanced/async-await","type":"VIDEO","course_id":"9ZMdr68N8kG9EzLwjsN9def","remote_created_at":"2022-08-07T14:01:29.196Z","changed_at":"2022-08-07T14:01:29.196Z","remote_data":null}]}},"required":["status","data"]},"PostLmsContentRequestBody":{"type":"object","properties":{"course_id":{"type":"string","description":"The ID of the course to add this content to"},"title":{"type":"string","description":"The title of the content item"},"description":{"type":["string","null"],"description":"A description of the content item"},"url":{"type":["string","null"],"description":"URL where the content can be accessed"},"type":{"type":"string","enum":["COACHING","VIDEO","TEXT","QUIZ"],"description":"The type of learning content"}},"required":["course_id","title","type"]},"PostAiApplyCareerSitesPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"label":{"type":"string","description":"The label of the career site"}},"required":["id","label"],"examples":[{"id":"mK7pQw9xNvEr2LdY5sGh8TcZ","label":"Acme Inc. California"}]}},"required":["status","data"]},"PostAiApplyCareerSitesRequestBody":{"type":"object","properties":{"label":{"type":"string","description":"The label of the career site"}},"required":["label"]},"GetAiApplyCareerSitesParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetAiApplyCareerSitesParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetAiApplyCareerSitesParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetAiApplyCareerSitesPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"label":{"type":"string","description":"The label of the career site"}},"required":["id","label"]}},"next":{"type":["string","null"]}},"required":["results","next"],"examples":[{"results":[{"id":"mK7pQw9xNvEr2LdY5sGh8TcZ","label":"Acme Inc. California"}],"next":null}]}},"required":["status","data"]},"GetAiApplyPostingsParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetAiApplyPostingsParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetAiApplyPostingsParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetAiApplyPostingsParameterCareerSiteIds":{"type":"string","description":"Filter by a comma-separated list of career site IDs such as `A8m9k9RhjNokMfRTWtpQ99VtH,rCbkAA3pvcKjsFYwEeXtCQkc`."},"GetAiApplyPostingsParameterJobCodes":{"type":"string","description":"Filter by a comma-separated list of job codes such as `ACME_13,ACME_14`."},"GetAiApplyPostingsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"career_site":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"label":{"type":"string"}},"required":["id","label"]},"url":{"type":"string"},"job_code":{"type":["string","null"]},"created_at":{"description":"YYYY-MM-DDTHH:mm:ss.sssZ","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"updated_at":{"description":"YYYY-MM-DDTHH:mm:ss.sssZ","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"archived_at":{"description":"The date and time the job posting was archived. You can only send applications if the job posting is not archived.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"archived_reason":{"type":["string","null"],"enum":["JOB_POSTING_TAKEN_OFFLINE","MANUAL_ARCHIVE"]},"availability":{"type":"string","enum":["APPLYABLE","PENDING","ARCHIVED","UNAVAILABLE"],"description":"The status of the job posting. You can only send applications if the job posting is \"APPLYABLE\"."}},"required":["id","career_site","url","job_code","created_at","updated_at","archived_at","archived_reason","availability"]}},"next":{"type":["string","null"]}},"required":["results","next"],"examples":[{"results":[{"id":"9QGNv3B98kL3hyELE1qsZ86s","career_site":{"id":"Chc4dua5asAQ48KUERDVF1bs","label":"Acme"},"url":"https://careers.acme.com/jobs/fullstack-engineer-ai-infra-14102","job_code":"ACME_13","created_at":"2025-01-01T00:00:00.000Z","updated_at":"2025-03-02T23:12:32.000Z","archived_at":null,"archived_reason":null,"availability":"PENDING"}],"next":null}]}},"required":["status","data"]},"PostAiApplyPostingsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"career_site":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"label":{"type":"string"}},"required":["id","label"]},"url":{"type":"string"},"job_code":{"type":["string","null"]},"created_at":{"description":"YYYY-MM-DDTHH:mm:ss.sssZ","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"updated_at":{"description":"YYYY-MM-DDTHH:mm:ss.sssZ","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"archived_at":{"description":"The date and time the job posting was archived. You can only send applications if the job posting is not archived.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"archived_reason":{"type":["string","null"],"enum":["JOB_POSTING_TAKEN_OFFLINE","MANUAL_ARCHIVE"]},"availability":{"type":"string","enum":["APPLYABLE","PENDING","ARCHIVED","UNAVAILABLE"],"description":"The status of the job posting. You can only send applications if the job posting is \"APPLYABLE\"."}},"required":["id","career_site","url","job_code","created_at","updated_at","archived_at","archived_reason","availability"],"examples":[{"id":"9QGNv3B98kL3hyELE1qsZ86s","career_site":{"id":"Chc4dua5asAQ48KUERDVF1bs","label":"Acme"},"url":"https://careers.acme.com/jobs/fullstack-engineer-ai-infra-14102","job_code":"ACME_13","created_at":"2025-01-01T00:00:00.000Z","updated_at":"2025-03-02T23:12:32.000Z","archived_at":null,"archived_reason":null,"availability":"PENDING"}]}},"required":["status","data"]},"PostAiApplyPostingsRequestBody":{"type":"object","properties":{"career_site_id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"url":{"type":"string","format":"uri","pattern":"^https?:\\/\\/","description":"The URL of the job posting to parse"},"job_code":{"type":"string","description":"Job code to associate with the job posting"},"location":{"type":"object","properties":{"country":{"type":"string","enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"description":"The country in which the job is located"},"postal_code":{"type":"string","description":"The postal/zip code in which the job is located"}},"required":["country"],"description":"The location in which the job is located"}},"required":["career_site_id","url"]},"PostAiApplyPostingsPostingIdInquireParameterPostingId":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"PostAiApplyPostingsPostingIdInquirePositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"application_form":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"block_type":{"type":"string","const":"QUESTION"},"question_id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"label":{"type":"string"},"description":{"type":["string","null"]},"required":{"type":"boolean"},"category":{"type":["string","null"],"enum":["EEO"]},"question_type":{"type":"string","enum":["TEXT","NUMBER","BOOLEAN","FILE","DATE","SINGLE_SELECT","MULTI_SELECT"]},"unified_key":{"type":["string","null"],"enum":["EMAIL","RESIDENCE_TYPE","RESIDENCE_FULL_STRING","RESIDENCE_COUNTRY","RESIDENCE_CITY","RESIDENCE_STATE","RESIDENCE_LINE_1","RESIDENCE_LINE_2","RESIDENCE_ZIP_CODE","APPLICANT_POOL_CONSENT","TERMS_AND_CONDITIONS","FIRST_NAME","LAST_NAME","FULL_NAME","GENDER","EXPECTED_START_DATE","RESUME","BIRTH_DATE","PHONE_NUMBER_TYPE","FULL_PHONE_NUMBER","PHONE_COUNTRY_CODE","PHONE_NATIONAL_NUMBER","PHONE_EXTENSION"]},"options":{"type":["array","null"],"items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"label":{"type":"string"},"unified_key":{"type":["string","null"],"enum":["HOME","WORK","MAILING","AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW","MALE","FEMALE","NON_BINARY","NOT_SPECIFIED","MOBILE","LANDLINE","SOURCE_OTHER","SOURCE_OTHER_JOB_BOARD"]}},"required":["id","label","unified_key"]}},"display_when":{"type":["object","null"],"properties":{"question_id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"answer_equals":{"oneOf":[{"type":"string","description":"Answer to a `TEXT` question, the option ID of the answer to a `SINGLE_SELECT` question, or the answer to a `DATE` question as an ISO 8601 date string (e.g. \"2021-12-31T23:59:59.000Z\")."},{"type":"array","items":{"type":"string"},"description":"Answer to a `MULTI_SELECT` question, contains the IDs of the selected options."},{"type":"number","format":"double","minimum":-1.7976931348623157e+308,"description":"Answer to a `NUMBER` question."},{"type":"boolean","description":"Answer to a `BOOLEAN` question."},{"type":"object","properties":{"name":{"type":"string","description":"The original name (e.g., \"resume.pdf\")"},"content_type":{"type":"string","description":"The MIME type of the file (e.g., \"application/pdf\", \"image/jpeg\")"},"data":{"type":"string","format":"byte","description":"The file content encoded as a base64 string"}},"required":["name","content_type","data"],"description":"Answer to a `FILE` question."}]}},"required":["question_id","answer_equals"]}},"required":["block_type","question_id","label","description","required","category","question_type","unified_key","options","display_when"]},{"type":"object","properties":{"block_type":{"type":"string","const":"SECTION"},"label":{"type":"string"},"children":{"type":"array","items":{"type":"object"}}},"required":["block_type","label","children"]}]}},"submission_token":{"type":"string","description":"JWT token for submitting the application. Valid for 12 hours from generation."}},"required":["application_form","submission_token"],"examples":[{"application_form":[{"block_type":"SECTION","label":"Personal Information","children":[{"block_type":"QUESTION","question_id":"6VrjehyBk685vubNydiR1hSn","label":"First name","description":null,"required":true,"category":null,"question_type":"TEXT","unified_key":"FIRST_NAME","options":null,"display_when":null},{"block_type":"QUESTION","question_id":"Hjsapofs69cx2iAu6MtTfhoh","label":"Last name","description":null,"required":true,"category":null,"question_type":"TEXT","unified_key":"LAST_NAME","options":null,"display_when":null}]},{"block_type":"QUESTION","question_id":"EKaumKPGjeA97cb8ystMmkCe","label":"What is your desired working location?","description":"Select your preferred work arrangement","required":true,"category":null,"question_type":"SINGLE_SELECT","unified_key":null,"options":[{"id":"BsnL4pAhNQc26uSc4JopTP3P","label":"Remote","unified_key":null},{"id":"8T4fcKgzLxbKFUo4saXaoMTG","label":"On-site","unified_key":null},{"id":"2cJDK3dq4WNjovohSG7dSpfd","label":"Hybrid","unified_key":null}],"display_when":null},{"block_type":"QUESTION","question_id":"2H26BKTbDn2ygN2GfEcCsUP8","label":"What timezone are you in?","description":"This helps us schedule meetings at convenient times","required":true,"category":null,"question_type":"TEXT","unified_key":null,"options":null,"display_when":{"question_id":"EKaumKPGjeA97cb8ystMmkCe","answer_equals":"BsnL4pAhNQc26uSc4JopTP3P"}},{"block_type":"QUESTION","question_id":"AdM1EuwBKE4pz94SSRHMgmba","label":"Which office would you prefer?","description":null,"required":true,"category":null,"question_type":"SINGLE_SELECT","unified_key":null,"options":[{"id":"EHCqUb5E6xzfjnfHT2LEgmM7","label":"San Francisco","unified_key":null},{"id":"5RbHT73StFM5tHdF3aVr4do1","label":"New York","unified_key":null},{"id":"F4rRwGTNeLQZV5VLwstERpsT","label":"London","unified_key":null}],"display_when":{"question_id":"EKaumKPGjeA97cb8ystMmkCe","answer_equals":"8T4fcKgzLxbKFUo4saXaoMTG"}},{"block_type":"QUESTION","question_id":"FuVZvF26NueKcN46o5euHeGx","label":"How many days per week would you like to work in the office?","description":null,"required":true,"category":null,"question_type":"NUMBER","unified_key":null,"options":null,"display_when":{"question_id":"EKaumKPGjeA97cb8ystMmkCe","answer_equals":"2cJDK3dq4WNjovohSG7dSpfd"}}],"submission_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."}]}},"required":["status","data"]},"PostAiApplyPostingsPostingIdInquireRequestBody":{"type":"object","properties":{}},"PostAiApplyPostingsPostingIdParseParameterPostingId":{"type":"string","description":"The ID of the job posting to parse a new revision for"},"PostAiApplyPostingsPostingIdParsePositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"career_site":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"label":{"type":"string"}},"required":["id","label"]},"url":{"type":"string"},"job_code":{"type":["string","null"]},"created_at":{"description":"YYYY-MM-DDTHH:mm:ss.sssZ","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"updated_at":{"description":"YYYY-MM-DDTHH:mm:ss.sssZ","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"archived_at":{"description":"The date and time the job posting was archived. You can only send applications if the job posting is not archived.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"archived_reason":{"type":["string","null"],"enum":["JOB_POSTING_TAKEN_OFFLINE","MANUAL_ARCHIVE"]},"availability":{"type":"string","enum":["APPLYABLE","PENDING","ARCHIVED","UNAVAILABLE"],"description":"The status of the job posting. You can only send applications if the job posting is \"APPLYABLE\"."}},"required":["id","career_site","url","job_code","created_at","updated_at","archived_at","archived_reason","availability"],"examples":[{"id":"9QGNv3B98kL3hyELE1qsZ86s","career_site":{"id":"Chc4dua5asAQ48KUERDVF1bs","label":"Acme"},"url":"https://careers.acme.com/jobs/fullstack-engineer-ai-infra-14102","job_code":"ACME_13","created_at":"2025-01-01T00:00:00.000Z","updated_at":"2025-03-02T23:12:32.000Z","archived_at":null,"archived_reason":null,"availability":"PENDING"}]}},"required":["status","data"]},"PostAiApplyPostingsPostingIdParseRequestBody":{"type":"object","properties":{}},"PostAiApplyApplyPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"posting_id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"status":{"type":"string"},"created_at":{"description":"YYYY-MM-DDTHH:mm:ss.sssZ","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"updated_at":{"description":"YYYY-MM-DDTHH:mm:ss.sssZ","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}}},"required":["id","posting_id","status","created_at","updated_at"],"examples":[{"id":"ADbmw5XSkeCSE1fAucoxEGnwZ","posting_id":"JDn252PEYa4rMhKbJBjtn3ng","status":"PENDING","created_at":"2025-01-01T00:00:00.000Z","updated_at":"2025-03-02T23:12:32.000Z"}]}},"required":["status","data"]},"PostAiApplyApplyRequestBody":{"type":"object","properties":{"submission_token":{"type":"string","description":"JWT token obtained from the POST /postings/:id/inquire endpoint. Valid for 12 hours."},"candidate_email":{"type":"string","description":"The email address of the candidate. This is used for deduplication (preventing duplicate applications from the same candidate) and internal tracking purposes. This field is required but should not be displayed to the candidate on your application form - you should provide this from your own system.","format":"email"},"query_params":{"type":"object","additionalProperties":{"type":"string"},"description":"Query parameters to be appended to the job posting URL when applying."},"screening_question_answers":{"type":"array","items":{"type":"object","properties":{"question_id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"answer":{"oneOf":[{"type":"string","description":"Answer to a `TEXT` question, the option ID of the answer to a `SINGLE_SELECT` question, or the answer to a `DATE` question as an ISO 8601 date string (e.g. \"2021-12-31T23:59:59.000Z\")."},{"type":"array","items":{"type":"string"},"description":"Answer to a `MULTI_SELECT` question, contains the IDs of the selected options."},{"type":"number","format":"double","minimum":-1.7976931348623157e+308,"description":"Answer to a `NUMBER` question."},{"type":"boolean","description":"Answer to a `BOOLEAN` question."},{"type":"object","properties":{"name":{"type":"string","description":"The original name (e.g., \"resume.pdf\")"},"content_type":{"type":"string","description":"The MIME type of the file (e.g., \"application/pdf\", \"image/jpeg\")"},"data":{"type":"string","format":"byte","description":"The file content encoded as a base64 string"}},"required":["name","content_type","data"],"description":"Answer to a `FILE` question."}]}},"required":["question_id","answer"]},"description":"Array of screening question answers. The answers need to match exactly with the questions you received on the POST /postings/:id/inquire endpoint. Otherwise, the application will be rejected."}},"required":["submission_token","candidate_email","screening_question_answers"]},"GetAiApplyApplicationsParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetAiApplyApplicationsParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":250,"default":100,"description":"The number of results to return per page. Maximum is 250."},"GetAiApplyApplicationsParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetAiApplyApplicationsParameterJobPostingIds":{"type":"string","description":"Filter by a comma-separated list of job posting IDs such as `89V6GEKpdZwqbxQz59n1ftFb,kcGHREEXCMF26Yhpuyh1gDVE`."},"GetAiApplyApplicationsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"job_posting_id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"status":{"type":"string","enum":["PENDING","SUBMITTED","FAILED"]},"created_at":{"description":"YYYY-MM-DDTHH:mm:ss.sssZ","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"updated_at":{"description":"YYYY-MM-DDTHH:mm:ss.sssZ","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}}},"required":["id","job_posting_id","status","created_at","updated_at"]}},"next":{"type":["string","null"]}},"required":["results","next"],"examples":[{"results":[{"id":"ADbmw5XSkeCSE1fAucoxEGnwZ","job_posting_id":"JDn252PEYa4rMhKbJBjtn3ng","status":"PENDING","created_at":"2025-01-01T00:00:00.000Z","updated_at":"2025-03-02T23:12:32.000Z"}],"next":null}]}},"required":["status","data"]},"GetAiApplyUnifiedApiJobsParameterCursor":{"type":"string","description":"An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response."},"GetAiApplyUnifiedApiJobsParameterPageSize":{"type":"integer","format":"int64","minimum":1,"maximum":5,"default":5,"description":"The number of results to return per page. Maximum is 5."},"GetAiApplyUnifiedApiJobsParameterIds":{"type":"string","description":"Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`."},"GetAiApplyUnifiedApiJobsParameterRemoteIds":{"type":"string","description":"This parameter exists for backwards compatibility with Kombo's unified API. Supplying a comma-separated list of remote IDs such as `32,33` will return no jobs because AI Apply does not interface with a remote system that issues remote IDs."},"GetAiApplyUnifiedApiJobsParameterJobCodes":{"type":"string","description":"Filter by a comma-separated list of job codes such as `ACME_12,ACME_14`."},"GetAiApplyUnifiedApiJobsParameterCareerSiteIds":{"type":"string","description":"Filter by a comma-separated list of career site IDs such as `A8m9k9RhjNokMfRTWtpQ99VtH,rCbkAA3pvcKjsFYwEeXtCQkc`."},"GetAiApplyUnifiedApiJobsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string"},"name":{"type":["string","null"]},"job_code":{"type":["string","null"]},"description":{"type":["string","null"]},"confidential":{"type":["boolean","null"]},"weekly_hours":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"category":{"type":["string","null"]},"department":{"type":["string","null"]},"post_url":{"type":["string","null"]},"experience_level":{"type":["string","null"]},"salary_amount":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"salary_amount_from":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"salary_amount_to":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"salary_currency":{"type":["string","null"]},"custom_fields":{"type":["object","null"]},"integration_fields":{"type":"array","items":{"type":"object"}},"opened_at":{"type":["string","null"],"format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$"},"closed_at":{"type":["string","null"],"format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$"},"remote_created_at":{"type":["string","null"],"format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$"},"remote_updated_at":{"type":["string","null"],"format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$"},"contact_id":{"type":["string","null"]},"remote_data":{"type":["object","null"]},"changed_at":{"type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$"},"remote_deleted_at":{"type":["string","null"],"format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$"},"remote_url":{"type":["string","null"]},"stages":{"type":"array","items":{"type":"object"}},"screening_questions":{"type":["array","null"],"items":{"type":"object","properties":{"id":{"type":"string"},"remote_id":{"type":["string","null"]},"title":{"type":["string","null"]},"description":{"type":["string","null"]},"format":{"anyOf":[{"type":"object","properties":{"display_type":{"type":["string","null"],"enum":["SINGLE_LINE","MULTI_LINE","EMAIL","URL"],"description":"If unavailable, we recommend displaying a single-line input."},"max_length":{"type":["integer","null"],"format":"int64"},"type":{"type":"string","const":"TEXT"}},"required":["type"]},{"type":"object","properties":{"display_type":{"type":["string","null"],"enum":["SLIDER","FIELD"],"default":"FIELD"},"max":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"min":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308},"type":{"type":"string","const":"NUMBER"}},"required":["type"]},{"type":"object","properties":{"accepted_mime_types":{"type":["array","null"],"items":{"type":"string"}},"max_file_size_bytes":{"type":["integer","null"],"format":"int64"},"type":{"type":"string","const":"FILE"}},"required":["type"]},{"type":"object","properties":{"display_type":{"type":["string","null"],"enum":["DROPDOWN","RADIO"]},"options":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The Kombo ID of this question option. Use this ID to specify the answer to this question."},"remote_id":{"type":["string","null"],"description":"ID in the connected ATS. This might be null as some systems only use the name to identify the option."},"name":{"type":"string","description":"Content of the question option."}},"required":["id","name"]}},"type":{"type":"string","const":"SINGLE_SELECT"}},"required":["options","type"]},{"type":"object","properties":{"type":{"type":"string","const":"BOOLEAN"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","const":"DATE"}},"required":["type"]},{"type":"object","properties":{"options":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The Kombo ID of this question option. Use this ID to specify the answer to this question."},"remote_id":{"type":["string","null"],"description":"ID in the connected ATS. This might be null as some systems only use the name to identify the option."},"name":{"type":"string","description":"Content of the question option."}},"required":["id","name"]}},"type":{"type":"string","const":"MULTI_SELECT"}},"required":["options","type"]},{"type":"object","properties":{"type":{"type":"string","const":"INFORMATION","description":"This is just a text block."}},"required":["type"]},{"type":"object","properties":{"raw_question":{"description":"We pass the original question data along so you can handle it."},"type":{"type":"string","const":"UNKNOWN","description":"When we're not able to map a specific question type yet, we will return this type. Every `UNKNOWN` question will also be parsed and unified by us at some point."}},"required":["type"]},{"type":"null"}]},"category":{"type":["string","null"],"enum":["EEO"]},"index":{"type":["integer","null"],"format":"int64"},"required":{"type":["boolean","null"]},"precondition_question_id":{"type":["string","null"]},"precondition_options":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"boolean"}},{"type":"null"}],"default":null}},"required":["id","remote_id","title","description","category","required"]}},"job_postings":{"type":"array","items":{"type":"object"}},"hiring_team":{"type":"array","items":{"type":"object"}},"employment_type":{"anyOf":[{"type":"string","enum":["FULL_TIME","PART_TIME","CONTRACT","SEASONAL","INTERNSHIP"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"One of 5 standardized values or — in rare cases where we can’t find a clear mapping — the original string passed through."},"status":{"anyOf":[{"type":"string","enum":["OPEN","CLOSED","DRAFT","ARCHIVED"]},{"type":"string","description":"If we can't find a clear mapping: The original string passed through."},{"type":"null"}],"description":"The job's current status.\n\n*Note: For any checks (e.g., \"can we publish this job?\"), always evaluate both `status` and `visibility`. For example, a job can be `status=OPEN` with `visibility=INTERNAL`, meaning only existing employees can apply.*\n\n In rare cases where we can’t find a clear mapping, the original string is passed through."},"visibility":{"type":["string","null"]},"remote_work_status":{"type":["string","null"]},"salary_period":{"type":["string","null"]},"location":{"type":["object","null"],"properties":{"city":{"type":["string","null"]},"country":{"type":["string","null"],"description":"Contains the ISO2 country code if possible. If not, it contains the original value."},"raw":{"type":["string","null"],"description":"If we have address data, this is filled with the raw address string."},"state":{"type":["string","null"]},"street_1":{"type":["string","null"],"description":"If we can parse the address data, this field contains the first part of the street information."},"street_2":{"type":["string","null"]},"zip_code":{"type":["string","null"]}}}},"required":["id","remote_id","name","job_code","description","confidential","weekly_hours","category","department","post_url","experience_level","salary_amount","salary_amount_from","salary_amount_to","salary_currency","custom_fields","integration_fields","opened_at","closed_at","remote_created_at","remote_updated_at","contact_id","remote_data","changed_at","remote_deleted_at","remote_url","stages","screening_questions","job_postings","hiring_team","visibility","remote_work_status","salary_period"]}},"next":{"type":["string","null"]}},"required":["results","next"]}},"required":["status","data"]},"PostAiApplyUnifiedApiJobsJobIdApplicationsParameterJobId":{"type":"string","description":"The Kombo ID or Remote ID of the Job this candidate should apply for. If you want to use the ID of the integrated system (remote_id) you need to prefix the id with \"remote:\". You can use the remote ID if you do not want to sync jobs."},"PostAiApplyUnifiedApiJobsJobIdApplicationsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"outcome":{"type":["string","null"],"enum":["PENDING","HIRED","DECLINED"],"description":"Parsed status of the application. If Kombo identifies that the application was accepted and the candidate hired, it will be `HIRED`. If the application was rejected or the candidate declined, it will be `DECLINED`. If the application is still in process, it will be `PENDING`.\nKombo will always try to deliver this information as reliably as possible."},"rejection_reason_name":{"type":["string","null"],"description":"Reason for the rejection of the candidate."},"rejected_at":{"description":"The time that the application was rejected.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"current_stage_id":{"type":["string","null"],"description":"ID of the current application stage"},"job_id":{"type":["string","null"],"description":"The Kombo ID of the job which the candidate applied to. The ID can be used to retrieve the job from the `get jobs` endpoint."},"candidate_id":{"type":["string","null"],"description":"The Kombo ID of the candidate who applied to the job. The ID can be used to retrieve the candidate from the `get candidates` endpoint."},"screening_question_answers":{"type":["array","null"],"items":{"anyOf":[{"type":"object","properties":{"answer":{"type":"object","properties":{"content":{"type":["string","null"]}},"required":["content"]},"question":{"type":"object","properties":{"remote_id":{"type":["string","null"]},"title":{"type":"string"},"type":{"type":"string","const":"TEXT"}},"required":["remote_id","title","type"]}},"required":["answer","question"]},{"type":"object","properties":{"answer":{"type":"object","properties":{"choice":{"type":["string","null"]}},"required":["choice"]},"question":{"type":"object","properties":{"remote_id":{"type":["string","null"]},"title":{"type":"string"},"type":{"type":"string","const":"SINGLE_SELECT"}},"required":["remote_id","title","type"]}},"required":["answer","question"]},{"type":"object","properties":{"answer":{"type":"object","properties":{"choices":{"type":"array","items":{"type":"string"},"default":[]}}},"question":{"type":"object","properties":{"remote_id":{"type":["string","null"]},"title":{"type":"string"},"type":{"type":"string","const":"MULTI_SELECT"}},"required":["remote_id","title","type"]}},"required":["answer","question"]},{"type":"object","properties":{"answer":{"type":"object","properties":{"checked":{"type":["boolean","null"]}},"required":["checked"]},"question":{"type":"object","properties":{"remote_id":{"type":["string","null"]},"title":{"type":"string"},"type":{"type":"string","const":"BOOLEAN"}},"required":["remote_id","title","type"]}},"required":["answer","question"]},{"type":"object","properties":{"answer":{"type":"object","properties":{"number":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308}},"required":["number"]},"question":{"type":"object","properties":{"remote_id":{"type":["string","null"]},"title":{"type":"string"},"type":{"type":"string","const":"NUMBER"}},"required":["remote_id","title","type"]}},"required":["answer","question"]},{"type":"object","properties":{"answer":{"type":"object","properties":{"date":{"type":["string","null"],"format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$"}},"required":["date"]},"question":{"type":"object","properties":{"remote_id":{"type":["string","null"]},"title":{"type":"string"},"type":{"type":"string","const":"DATE"}},"required":["remote_id","title","type"]}},"required":["answer","question"]},{"type":"object","properties":{"answer":{"type":"object","properties":{"raw":{"type":"null","description":"We pass the original question data along so you can handle it."}}},"question":{"type":"object","properties":{"remote_id":{"type":["string","null"]},"title":{"type":"string"},"type":{"type":"string","const":"UNKNOWN","description":"When we're not able to map a specific question type yet, we will return this type. Every `UNKNOWN` question will also be parsed and unified by us at some point."}},"required":["remote_id","title","type"]}},"required":["answer","question"]}]},"default":[],"description":"A list of answers to screening questions. The screening answer type `FILE` is currently unsupported."},"custom_fields":{"type":["object","null"],"additionalProperties":true,"description":"A key-value store of fields not covered by the schema. [Read more](/custom-fields)"},"integration_fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object."},"key":{"type":"string","description":"The key of the field in the remote system."},"type":{"type":"string","enum":["DEFAULT","CUSTOM"],"description":"- `DEFAULT`: static fields in the remote system.\n- `CUSTOM`: fields that are created/editable by the user."},"value":{"type":"null","description":"The field's value."},"label":{"type":["string","null"],"description":"The label of the field. (not always available)"}},"required":["id","key","type","label"]},"description":"An array of selected passthrough integration fields. [Read more](/integration-fields)","examples":[[{"id":"5NVFhMpB9Ah6by44tzNjZLyE","key":"firstName","type":"DEFAULT","value":"Frank","label":"First Name"},{"id":"8nuajYpoRd5GnxEQaaWKUDYQ","key":"customTshirtSize","type":"CUSTOM","value":"XL","label":"T-Shirt Size"}]]},"remote_url":{"type":["string","null"],"format":"uri","description":"URL to the application in the source ATS system. When embedding this in your system, please consider that not for all ATS a dedicated application URL is available, so you might need to fall back to the candidate URL."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_created_at":{"description":"The date and time the object was created in the remote system.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_updated_at":{"description":"A timestamp retrieved from the remote system, describing when the resource was last updated.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."},"current_stage":{"type":["object","null"],"properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"name":{"type":["string","null"],"description":"The application stage name. For example, \"Initial Screening\"."},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"index":{"type":["integer","null"],"format":"int64","examples":[2]}},"required":["id","name","remote_id","index"]},"job":{"type":["object","null"],"properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"name":{"type":["string","null"],"description":"Title of the job."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."}},"required":["id","name","remote_id"],"examples":[{"id":"H5daSm8e85Dmvmne3wLeCPhX","name":"Backend Engineer","remote_id":"32"}]},"candidate":{"type":["object","null"],"properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"remote_id":{"type":"string","description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."},"first_name":{"type":["string","null"],"description":"First name of the candidate."},"last_name":{"type":["string","null"],"description":"Last name of the candidate."},"company":{"type":["string","null"],"description":"The current company of the candidate."},"title":{"type":["string","null"],"description":"The current job title of the candidate."},"confidential":{"type":["boolean","null"],"description":"Whether the candidate’s profile is confidential in the ATS."},"source":{"type":["string","null"],"description":"The hiring source of the candidate. If you're a job board or recruiting service, you can use this to validate which candidates applied through your service and ensure that the correct referral compensation is paid out."},"phone_numbers":{"type":["array","null"],"items":{"type":"object","properties":{"phone_number":{"type":"string"},"type":{"type":["string","null"],"description":"Kombo exposes type information through this field. If we don't get any information from the tool, we will set this to `null`."}},"required":["phone_number"]},"default":[],"description":"A list of phone numbers of the candidate."},"email_addresses":{"type":["array","null"],"items":{"type":"object","properties":{"email_address":{"type":["string","null"],"pattern":"^(?!\\.)(?!.*\\.\\.)([\\w'+-.]*)[\\w+-]@([\\da-z][\\da-z-]*\\.)+[a-z]{2,}$"},"type":{"type":["string","null"],"description":"Kombo exposes type information through this field. If we don't get any information from the tool, we will set this to `null`."}},"required":["type"]},"default":[],"description":"A list of email addresses of the candidate with an optional type. If an email address is invalid, it will be filtered out."},"social_media":{"type":["array","null"],"items":{"type":"object","properties":{"link":{"type":["string","null"]},"type":{"type":["string","null"]},"username":{"type":["string","null"]}}},"default":[],"description":"List of social media accounts of the candidate."},"location":{"type":["object","null"],"properties":{"city":{"type":["string","null"]},"country":{"type":["string","null"],"description":"Contains the ISO2 country code if possible. If not, it contains the original value."},"raw":{"type":["string","null"],"description":"If we have address data, this is filled with the raw address string."},"state":{"type":["string","null"]},"street_1":{"type":["string","null"],"description":"If we can parse the address data, this field contains the first part of the street information."},"street_2":{"type":["string","null"]},"zip_code":{"type":["string","null"]}},"description":"Location of the candidate."},"custom_fields":{"type":["object","null"],"additionalProperties":true,"description":"A key-value store of fields not covered by the schema. [Read more](/custom-fields)"},"integration_fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object."},"key":{"type":"string","description":"The key of the field in the remote system."},"type":{"type":"string","enum":["DEFAULT","CUSTOM"],"description":"- `DEFAULT`: static fields in the remote system.\n- `CUSTOM`: fields that are created/editable by the user."},"value":{"type":"null","description":"The field's value."},"label":{"type":["string","null"],"description":"The label of the field. (not always available)"}},"required":["id","key","type","label"]},"description":"An array of selected passthrough integration fields. [Read more](/integration-fields)","examples":[[{"id":"5NVFhMpB9Ah6by44tzNjZLyE","key":"firstName","type":"DEFAULT","value":"Frank","label":"First Name"},{"id":"8nuajYpoRd5GnxEQaaWKUDYQ","key":"customTshirtSize","type":"CUSTOM","value":"XL","label":"T-Shirt Size"}]]},"remote_url":{"type":["string","null"],"format":"uri","description":"URL to the candidate profile in the source ATS system. When embedding this in your system, please consider that not for all ATS a dedicated candidate profile URL is available, so you might need to fall back to the application URL."},"remote_created_at":{"description":"The date and time the object was created in the remote system.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_updated_at":{"description":"A timestamp retrieved from the remote system, describing when the resource was last updated.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_data":{"type":["object","null"],"additionalProperties":true,"description":"Includes the data fetched from the remote system.\nPlease be aware that including this in you scope config might violate other\nscopes that are set.\n\nRemote data always has the endpoint path that we got the data from as the\ntop level key. For example, it could look like: `{ \"/companies\": { ... }}`\n\nThis is not available on all plans. Reach out to Kombo if you need it."},"changed_at":{"description":"The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"remote_deleted_at":{"description":"The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.","type":["string","null"],"format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"name":{"type":["string","null"]},"remote_id":{"type":["string","null"],"description":"The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key."}},"required":["id","name","remote_id"],"examples":[{"id":"26vafvWSRmbhNcxJYqjCzuJg","name":"High Potential","remote_id":"32"}]}}},"required":["id","remote_id","first_name","last_name","company","title","confidential","source","custom_fields","integration_fields","remote_url","remote_created_at","remote_updated_at","remote_data","changed_at","remote_deleted_at","tags"]}},"required":["id","remote_id","outcome","rejection_reason_name","rejected_at","current_stage_id","job_id","candidate_id","custom_fields","integration_fields","remote_url","changed_at","remote_deleted_at","remote_created_at","remote_updated_at","remote_data","current_stage","job","candidate"],"examples":[{"id":"H77fDF8uvEzGNPRubiz5DvQ7","remote_id":"32","outcome":"PENDING","rejection_reason_name":null,"rejected_at":null,"current_stage_id":"5J7L4b48wBfffYwek9Az9pkM","job_id":"H5daSm8e85Dmvmne3wLeCPhX","candidate_id":"26vafvWSRmbhNcxJYqjCzuJg","screening_question_answers":[],"custom_fields":{},"integration_fields":[],"remote_url":"https://example.com/applications/32","changed_at":"2022-08-07T14:01:29.196Z","remote_deleted_at":null,"remote_created_at":"2022-04-02T00:00:00.000Z","remote_updated_at":"2022-04-04T00:00:00.000Z","remote_data":null,"current_stage":{"id":"5J7L4b48wBfffYwek9Az9pkM","name":"Interview","remote_id":"5","index":2},"job":{"id":"H5daSm8e85Dmvmne3wLeCPhX","name":"Head of Integrations","remote_id":"1"},"candidate":{"id":"26vafvWSRmbhNcxJYqjCzuJg","remote_id":"32","first_name":"John","last_name":"Doe","company":"Acme, Inc.","title":"Head of Marketing","confidential":false,"source":"Employee Referral","phone_numbers":[{"phone_number":"+1-541-754-3010","type":"HOME"}],"email_addresses":[{"email_address":"john.doe@example.com","type":"PRIVATE"}],"social_media":[{"link":"https://www.youtube.com/watch?v=dQw4w9WgXcQ","type":"YOUTUBE","username":null}],"location":{"city":"Berlin","country":"DE","raw":"Berlin, Germany","state":"Berlin","street_1":"Lohmühlenstraße 65","street_2":null,"zip_code":"12435"},"custom_fields":{},"integration_fields":[],"remote_url":"https://example.com/candidates/32","remote_created_at":"2022-04-02T00:00:00.000Z","remote_updated_at":"2022-04-04T00:00:00.000Z","remote_data":null,"changed_at":"2022-04-04T00:00:00.000Z","remote_deleted_at":null,"tags":[{"id":"7DHDky9zk4qnWkycuuQjFXNh","name":"Fast Learner","remote_id":"1"}]}}]}},"required":["status","data"]},"PostAiApplyUnifiedApiJobsJobIdApplicationsRequestBody":{"type":"object","properties":{"stage_id":{"type":"string","description":"Stage this candidate should be in. If left out, the default stage for this job will be used. You can obtain the possible `stage_id`s from the `get-jobs` endpoint."},"candidate":{"type":"object","properties":{"first_name":{"type":"string","description":"The first name of the candidate."},"last_name":{"type":"string","description":"The last name of the candidate."},"email_address":{"type":"string","description":"The primary email address this application will be created with.","format":"email"},"additional_email_addresses":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["PERSONAL","WORK","OTHER"]},"email_address":{"type":"string","format":"email"}},"required":["type","email_address"]}},"company":{"type":"string","description":"The company where the candidate is currently working."},"title":{"type":"string","description":"The current job title of the candidate."},"phone_number":{"type":"string","description":"The phone number of the candidate."},"additional_phone_numbers":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["PERSONAL","WORK","OTHER"]},"phone_number":{"type":"string"}},"required":["type","phone_number"]}},"location":{"type":"object","properties":{"city":{"type":"string"},"country":{"type":"string","pattern":"^[A-Z]{2}$","description":"The uppercase two-letter ISO country (e.g., `DE`). For systems that use codes in formats other than `ISO 3166-1 alpha-2`, Kombo transforms the ISO Codes to the appropriate value."},"state":{"type":"string"},"zip_code":{"type":"string"}},"required":["country"],"description":"The location of the candidate."},"gender":{"type":"string","enum":["MALE","FEMALE","OTHER"],"description":"The gender of the candidate. Must be one of `MALE`, `FEMALE`, or `OTHER`."},"availability_date":{"description":"The date the candidate is available to start working.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"salary_expectations":{"type":"object","properties":{"period":{"type":"string","enum":["MONTH","YEAR"],"description":"The period of the salary expectations. Must be one of `MONTH` or `YEAR`."},"amount":{"type":"number","format":"double","minimum":-1.7976931348623157e+308,"description":"The amount of the salary expectations."}},"required":["period","amount"],"description":"The salary expectations of the applicant. We will automatically convert the amount to a format that is suitable for the ATS you are using. For example, if you are using monthly salary expectations, we will convert the amount to a yearly salary if the ATS expects yearly salary expectations."},"social_links":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri"}},"required":["url"]},"default":[],"description":"A list of social media links of the candidate. The links must be valid URLs."}},"required":["first_name","last_name","email_address"]},"attachments":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"File name of the file you want to upload. We recommend providing something human-readable with a valid file extension (like `Resume.pdf`), as this might be shown in your customer's system."},"content_type":{"type":"string","pattern":"^[\\w.-]+\\/[\\w.-]+$","description":"Content/MIME type of the file (e.g., `application/pdf`).\n\nIf you provide `data`, this is required. If you provide `data_url`, this is optional and we'll attempt to use the `Content-Type` header of the response.\n\n**Note:** Please validate that the content type you provide is actually meaningful (and not something generic like [`application/octet-stream`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/MIME_types#applicationoctet-stream)). Especially when using object storage (like AWS S3), it's easy to accidentally discard the content types of user-provided files, so make sure to explicitly persist them when processing uploads from your users (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html#SysMetadata), [Google Cloud](https://cloud.google.com/storage/docs/metadata#content-type), and [Azure](https://learn.microsoft.com/en-us/rest/api/storageservices/put-blob#request-headers-all-blob-types))."},"data_url":{"type":"string","format":"uri","description":"URL to the file you want to upload that can be accessed without authentication headers. We will download the content immediately when receiving the request, so the URL can be short-lived.\n\nIf you're using an object storage provider (like AWS S3), we strongly recommend providing a signed URL for secure access (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html), [Google Cloud](https://cloud.google.com/storage/docs/access-control/signed-urls), and [Azure](https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview)).\n\n**Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases."},"data":{"type":"string","description":"Base64-encoded contents of the file you want to upload.\n\n**Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases."},"type":{"type":"string","enum":["CV","COVER_LETTER","OTHER"],"description":"Type of the attachment in the ATS. This may affect where the uploaded file will be shown in your customer's system."}},"required":["name","type"]},"default":[],"description":"Array of the attachments you would like to upload. The first CV in the attachments will be treated as the resume of the candidate when the tool allows previewing a resume."},"source":{"type":"object","properties":{"name":{"type":"string","description":"Name of the source (e.g., `\"Example Job Board\"`)."},"unified_key":{"type":"string"},"id":{"type":"string"}},"description":"**(⚠️ Deprecated - Use [automatic source writing](/ats/features/application-attribution#automatic-attribution) instead)** Optional source information that will be attached to the candidate. If\nyou're a job board or recruiting service, you can use this to make sure your\ncustomers can see which candidates came from you.\n\nThis is deprecated because writing sources requires users to do some setup in most ATSs."},"sourced_by":{"type":"object","properties":{"user_id":{"type":"string","description":"The Kombo ID or Remote ID of the User. Use the Kombo ID directly, or prefix the remote ID with \"remote:\" to reference the user by their ID in the remote system."}},"required":["user_id"],"description":"Credit the recruiter or team member who sourced this candidate.\n\nWhile the `source` field tracks the channel/platform (e.g., \"Awesome Jobboard\"), the `sourced_by` field tracks the individual person responsible for finding the candidate."},"gdpr_consent":{"type":"object","properties":{"expires_at":{"description":"Until when the candidate has granted the company they're applying to permission to process their personal data.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"given":{"type":"boolean","description":"Whether the candidate has given consent."}},"description":"Optional GDPR consent information required in some jurisdictions (like the Czech Republic or Slovakia)."},"remote_fields":{"allOf":[{"type":"object","properties":{"successfactors":{"type":"object","properties":{"Candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to SuccessFactor's `Candidate` object."},"JobApplication":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to SuccessFactor's `JobApplication` object."},"copyJobApplicationAttachments":{"type":"boolean","description":"If set to true, we will copy custom attachments from the JobApplication to the Candidate."},"update_existing_candidate":{"type":["boolean","null"],"description":"When the candidate already exists, whether to update the Candidate with the remote fields found under the Candidate entity."}},"description":"Fields specific to SAP SuccessFactors."},"personio":{"type":"object","properties":{"application":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Personio's `application` object."}},"description":"Fields specific to Personio."},"talentsoft":{"type":"object","properties":{"applicant":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to TalentSoft's `applicant` object."},"application":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to TalentSoft's `application` object."}},"description":"Fields specific to TalentSoft."},"teamtailor":{"type":"object","properties":{"candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Teamtailor's `Candidate` object."},"application":{"type":"object","properties":{"attributes":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Teamtailor's attributes section `Job application` object."}}}}},"greenhouse":{"type":"object","properties":{"candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Greenhouse's `Candidate` object."},"application":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Greenhouse's `Application` object."}},"description":"Fields specific to Greenhouse."},"lever":{"type":"object","properties":{"candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Lever's `Candidate` object. Note: make sure to submit the keys and values in the correct form data format."}},"description":"Fields specific to Lever."},"workable":{"type":"object","properties":{"candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Workable's `Candidate` object."}},"description":"Fields specific to Workable."},"workday":{"type":"object","properties":{"Candidate_Data":{"type":"object","properties":{"Name_Detail_Data":{"type":"object","properties":{"Middle_Name":{"type":"string","description":"The candidate's middle name"},"Social_Suffix_Reference":{"type":"object","properties":{"Predefined_Name_Component_ID":{"type":"string"}},"required":["Predefined_Name_Component_ID"],"description":"The WID of the social suffix reference for the candidate"}}},"Language_Reference":{"type":"object","properties":{"WID":{"type":"string"}},"required":["WID"],"description":"Used to set the candidate's primary language"},"Job_Application_Data":{"type":"object","properties":{"Job_Applied_To_Data":{"type":"object","properties":{"Global_Personal_Information_Data":{"type":"object","properties":{"Date_of_Birth":{"type":"string"}}}}},"Resume_Data":{"type":"object","properties":{"Education_Data":{"type":"array","items":{"type":"object","properties":{"School_Name":{"type":"string"},"First_Year_Attended":{"type":"number","format":"double","minimum":-1.7976931348623157e+308},"Last_Year_Attended":{"type":"number","format":"double","minimum":-1.7976931348623157e+308},"Field_of_Study_Reference":{"type":"object","properties":{"WID":{"type":"string"}},"required":["WID"]},"Degree_Reference":{"type":"object","properties":{"WID":{"type":"string"}},"required":["WID"]},"Grade_Average":{"type":"string"}}}},"Skill_Data":{"type":"array","items":{"type":"object","properties":{"Skill_Name":{"type":"string"}}}},"Language_Data":{"type":"array","items":{"type":"object","properties":{"Language_Reference":{"type":"object","properties":{"WID":{"type":"string"}}},"Language":{"type":"object","properties":{"Native":{"type":"boolean"},"Language_Ability":{"type":"array","items":{"type":"object","properties":{"Language_Ability_Data":{"type":"object","properties":{"Language_Proficiency_Reference":{"type":"object","properties":{"WID":{"type":"string"}},"required":["WID"]},"Language_Ability_Type_Reference":{"type":"object","properties":{"WID":{"type":"string"}},"required":["WID"]}}}}}}},"required":["Language_Ability"]}}}},"Experience_Data":{"type":"array","items":{"type":"object","properties":{"Company_Name":{"type":"string"},"Title":{"type":"string"},"Location":{"type":"string"},"Start_Date":{"description":"YYYY-MM-DDTHH:mm:ss.sssZ","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"End_Date":{"description":"YYYY-MM-DDTHH:mm:ss.sssZ","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"Currently_Work_Here":{"type":"boolean"},"Description":{"type":"string"}},"required":["Company_Name","Title","Start_Date"]}}}}}},"Contact_Data":{"type":"object","properties":{"Location_Data":{"type":"object","properties":{"Address_Line_1":{"type":"string"},"Address_Line_2":{"type":"string"},"Region_Subdivision_1":{"type":"string"},"Country_Region_Reference":{"type":"object","properties":{"Country_Region_ID":{"type":"string"}},"required":["Country_Region_ID"]},"Country_City_Reference":{"type":"object","properties":{"WID":{"type":"string"}},"required":["WID"]}}}}},"Worker_Reference":{"type":"object","properties":{"WID":{"type":"string"},"Employee_ID":{"type":"string"}},"description":"Reference to the Worker (employee) to link the candidate to. Provide either WID or Employee_ID."}}},"Override_Source_Reference_WID":{"type":"string","description":"Used to override the automatic source WID."}},"description":"Fields specific to Workday. The remote fields schema follows the documentation at https://community.workday.com/sites/default/files/file-hosting/productionapi/Recruiting/v43.0/Put_Candidate.html. Only defined fields are supported, if you need additional field support please reach out to Kombo support."},"zohorecruit":{"type":"object","properties":{"candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Zoho Recruit's `Candidate` object."}},"description":"Fields specific to Zoho Recruit."},"bullhorn":{"type":"object","properties":{"candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Bullhorn's `Candidate` object."},"job_submission":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Bullhorn's `JobSubmission` object."}},"description":"Fields specific to Bullhorn."},"smartrecruiters":{"type":"object","properties":{"candidate_with_questions":{"type":"object","additionalProperties":true,"description":"**(⚠️ Deprecated - Use the `candidate` field instead.)** Fields that we will pass through to the SmartRecruiters's `Candidate` object when created with screening question answers. This API is used: https://developers.smartrecruiters.com/reference/createcandidate-1"},"candidate_without_questions":{"type":"object","additionalProperties":true,"description":"**(⚠️ Deprecated - Use the `candidate` field instead.)** Fields that we will pass through to the SmartRecruiters's `Candidate` object when created with screening question answers. This API is used: https://developers.smartrecruiters.com/reference/candidatesaddtojob-1"},"candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to the SmartRecruiters's `Candidate` object. This API is used: https://developers.smartrecruiters.com/reference/createcandidate-1"}},"description":"Fields specific to SmartRecruiters."},"talentadore":{"type":"object","properties":{"applications":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to the Talentadore's when creating applications."}},"description":"Fields specific to Talentadore."},"guidecom":{"type":"object","properties":{"candidate":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to GuideCom's `Candidate` object."}},"description":"Fields specific to GuideCom."},"dvinci":{"type":"object","properties":{"application":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to d.vinci's application object. This API is used: https://static.dvinci-easy.com/files/d.vinci%20application-apply-api.html#jobs__id__applyApi_post"}},"description":"Fields specific to d.vinci."},"hrworks":{"type":"object","properties":{"jobApplication":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to HRWorks's `Job Application` object. This API is used: https://developers.hrworks.de/docs/hrworks-api-v2/53021f035f62d-post-job-applications"}},"description":"Fields specific to GuideCom."},"jobylon":{"type":"object","properties":{"application":{"type":"object","properties":{"message":{"type":"string","description":"The `message` field of Jobylon's create application endpoint's request body."}},"description":"Fields that we will pass through to Jobylon's create application [endpoint](https://developer.jobylon.com/push-api-and-webhooks#-xL0v)'s request body."}},"description":"Fields specific to Jobylon."},"avature":{"type":"object","properties":{"workflow":{"type":"object","properties":{"step":{"type":"object","properties":{"id":{"type":"integer","format":"int64","description":"The ID of the workflow step to assign to the candidate."}},"required":["id"]}}}},"description":"Fields specific to Avature."},"recruitee":{"type":"object","properties":{"candidate":{"type":"object","properties":{"cover_letter_text":{"type":"string","description":"The cover letter text as a string. This will be visible on the main candidate page. Can be provided together with the `cover_letter` attachment, which will end up in a separate `file` section."}}}},"description":"Fields specific to Recruitee."},"umantis":{"type":"object","properties":{"person":{"type":"object","additionalProperties":true,"description":"Fields that we will pass through to Abacus Umantis's \"Create a person\" endpoint's `attributes` when creating a candidate."}},"description":"Fields specific to Abacus Umantis."},"piloga":{"type":"object","properties":{"candidate":{"type":"object","properties":{"street":{"type":"string","description":"The street address of the candidate."}},"description":"Additional candidate fields for P&I Loga that will be mapped to the application form."}},"description":"Fields specific to P&I Loga."}},"description":"Additional fields that we will pass through to specific ATS systems."},{"type":"object","properties":{"greenhouse":{"type":"object","properties":{"post_headers":{"type":"object","properties":{"On-Behalf-Of":{"type":["string","null"],"description":"ID of the the user that will show up as having performed the action in Greenhouse. We already pass a value by default, but you can use this to override it."}},"description":"Headers we will pass with `POST` requests to Greenhouse."}},"description":"Fields specific to Greenhouse."},"workable":{"type":"object","properties":{"on_behalf_of_user_remote_id":{"type":"string","description":"The remote ID of the user that will be displayed in the UI as the one that performed the action."}},"description":"Workable specific remote fields for ATS actions."}},"description":"Additional fields that we will pass through to specific ATS systems."}],"description":"Additional fields that we will pass through to specific ATS systems."},"screening_question_answers":{"type":"array","items":{"type":"object","properties":{"question_id":{"type":"string","description":"ID of the question returned by the Kombo API. We'll report a warning in the logs if the question can't be found on the job."},"answer":{"anyOf":[{"type":"string","description":"Answer to a `TEXT` question or the option ID of the answer to a `SINGLE_SELECT` question."},{"type":"boolean","description":"Answer to a `BOOLEAN` question."},{"type":"number","format":"double","minimum":-1.7976931348623157e+308,"description":"Answer to a `NUMBER` question."},{"type":"array","items":{"type":"string"},"description":"Answer to a `MULTI_SELECT` question. The array elements are the IDs of the selected options."},{"description":"Answer to a `DATE` question as an ISO 8601 date string.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},{"type":"object","properties":{"name":{"type":"string","description":"File name of the file you want to upload. We recommend providing something human-readable with a valid file extension (like `Resume.pdf`), as this might be shown in your customer's system."},"content_type":{"type":"string","pattern":"^[\\w.-]+\\/[\\w.-]+$","description":"Content/MIME type of the file (e.g., `application/pdf`).\n\nIf you provide `data`, this is required. If you provide `data_url`, this is optional and we'll attempt to use the `Content-Type` header of the response.\n\n**Note:** Please validate that the content type you provide is actually meaningful (and not something generic like [`application/octet-stream`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/MIME_types#applicationoctet-stream)). Especially when using object storage (like AWS S3), it's easy to accidentally discard the content types of user-provided files, so make sure to explicitly persist them when processing uploads from your users (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html#SysMetadata), [Google Cloud](https://cloud.google.com/storage/docs/metadata#content-type), and [Azure](https://learn.microsoft.com/en-us/rest/api/storageservices/put-blob#request-headers-all-blob-types))."},"data_url":{"type":"string","format":"uri","description":"URL to the file you want to upload that can be accessed without authentication headers. We will download the content immediately when receiving the request, so the URL can be short-lived.\n\nIf you're using an object storage provider (like AWS S3), we strongly recommend providing a signed URL for secure access (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html), [Google Cloud](https://cloud.google.com/storage/docs/access-control/signed-urls), and [Azure](https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview)).\n\n**Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases."},"data":{"type":"string","description":"Base64-encoded contents of the file you want to upload.\n\n**Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases."}},"required":["name"],"description":"Answer to a `FILE` question."}],"description":"Answer to a question. This will be validated based on the question format and throw an error if the answer is invalid. Here is a description of each question type and the required answer format:\n\n`TEXT` - Simply provide a \"string\" answer.\n\n`SINGLE_SELECT` - Provide the ID of the answer as a string.\n\n`MULTI_SELECT` - Provide a string array containing the question IDs of the selected options.\n\n`BOOLEAN` - Either `true` or `false`.\n\n`NUMBER` - A number.\n\n`DATE` - Provide the answer as an ISO 8601 date string.\n\n`FILE` - Please select Option 6 in the dropdown above to see the required format."}},"required":["question_id","answer"]},"description":"Array of answers to screening questions. Currently, not all question types are supported, and unsupported ones will not be submitted.\n\nThe available questions for a job can be retrieved from the get jobs endpoint. The answers will be validated based on the format of the questions. Make sure to follow this schema to avoid errors.","examples":[[{"question_id":"D8yPrjXXvA2XeBksTmrVvKSn","answer":"Yes"}]]},"query_params":{"type":"object","additionalProperties":{"type":"string"},"description":"Query parameters to be appended to the job posting URL when applying."}},"required":["candidate"]},"PostConnectCreateLinkPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"link":{"type":"string","format":"uri"}},"required":["link"],"examples":[{"link":"https://connect.kombo.dev/v1?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.SWYgeW91IGFyZSByZWFkaW5nIHRoaXMsIHdlIHdvdWxkIGxpa2UgdG8gbGV0IHlvdSBrbm93IHRoYXQgd2UgYXJlIGhpcmluZyBwZW9wbGUgbGlrZSB5b3UgOikuIFJlYWNoIG91dCB0byBhbGV4QGtvbWJvLmRldiB0byBnZXQgaW4gY29udGFjdCBhbmQgdGVsbCBoaW0geW91IGNvbWUgZnJvbSB0aGUgSldUIDsp._hhX5YTtHfLn9ZC806dZceRn2whzxHyrhft1ONzNgOE"}]}},"required":["status","data"]},"PostConnectCreateLinkRequestBody":{"type":"object","properties":{"end_user_email":{"type":"string","description":"The email of the user this link is meant for.","format":"email"},"end_user_organization_name":{"type":"string","minLength":1,"description":"The name of the user's organization."},"end_user_origin_id":{"type":["string","null"],"minLength":1,"description":"The id the user/organization has in your own database."},"remote_environment":{"type":["string","null"],"description":"If the tool you want to connect offers different environments, you can specify which one you want to connect to here. If you don't specify this, we'll assume you want to use the production environment. Note that this can only be used if you've also specified a tool through `integration_tool`."},"integration_category":{"type":"string","enum":["HRIS","ATS","ASSESSMENT"],"default":"HRIS","description":"Category of the integration you want your customer to create."},"integration_tool":{"type":["string","null"],"enum":["personio","workday","workdaycustomreport","workdaycustomreportsftp","successfactors","smartrecruiters","factorial","oraclerecruiting","lever","icims","cornerstonetalentlink","recruitee","recruiterflow","greenhouse","greenhousejobboard","teamtailor","teamtailorjobboards","ashby","talentsoft","talentsoftcustomer","concludis","talention","piloga","onlyfy","ukgpro","ukgready","adpworkforcenow","taleo","rexx","afas","bamboohr","bullhorn","bullhornlogin","workable","payfitcustomer","payfitpartner","payfit","jobvite","employmenthero","fountain","fourth","kenjo","heavenhr","hibob","softgarden","cezannehr","entraid","azuread","googleworkspace","nmbrs","pinpoint","welcometothejungle","dvinci","dvinciadmin","join","deel","remotecom","iriscascade","okta","sagehr","sagepeople","humaans","traffit","erecruiter","eurecia","abacusumantis","umantis","jobylon","oraclehcm","taleez","officient","sesamehr","charliehr","hrworks","abacus","otys","zohopeople","zohorecruit","gusto","breathehr","catalystone","mirus","alexishr","simployer","eploy","jobdiva","peple","youserve","careerplug","perview","eightfold","dayforce","hansalog","lattice","trinet","paylocity","paycor","namely","paycom","insperity","paychex","avature","apploi","phenom","rippling","sapling","heyrecruit","peoplehr","recruhr","jazzhr","lucca","bite","zelt","planday","boondmanager","homerun","haileyhr","silae","mysolution","carerix","hroffice","talentclue","inrecruiting","ubeeo","oysterhr","kiwihr","connexys","hr4you","cornerstoneondemand","zvooverecruit","square","perbilityhelix","comeet","leapsome","compleet","compleetpitcher","gem","loket","workforcecom","laura","covetorest","coveto","peoplefirst","sdworx","crelate","absenceio","manatal","avionte","a3innuvanomina","mhmhr","scim","softgardenpartner","datevhr","datev","datevlug","sympa","breezyhr","flatchr","applicantstack","reachmee","talentadore","youforce","nibelis","peoplexd","sandbox","guidecom","sftp","sftpfetch"],"description":"Pre-define a tool this integration link can be used for."},"language":{"type":["string","null"],"enum":["en","de","fr","it","es"],"default":"en","description":"Language of the connection flow UI."},"scope_config_id":{"type":["string","null"],"description":"Specify a scope config that should be used for this integration. This is an advanced feature, only use it if you know what you're doing!"},"enable_filtering":{"type":"boolean","default":false,"description":"Enable the [filtering feature](https://docs.kombo.dev/other/filtering) for the integration. HRIS only."},"enable_field_mapping":{"type":"boolean","default":false,"description":"Enable the [field mapping feature](https://docs.kombo.dev/hris/features/setup-flow/introduction#field-mapping) for this integration."},"link_type":{"type":"string","enum":["EMBEDDED","MAGIC_LINK"],"default":"EMBEDDED","description":"The type of link you want to create. `EMBEDDED` is for the [embedded flow](../guides/connect/embedded-flow) using the Kombo Connect SDK (these links are valid for 1 hour) and `MAGIC_LINK` is for [magic links](../guides/connect/magic-links) which you send out manually to customers (there are valid for 1 year).\n\nThis defaults to `EMBEDDED`, which is our recommended method of implementing the connection flow for a seamless user experience."}},"required":["end_user_email","end_user_organization_name"]},"GetConnectIntegrationByTokenTokenParameterToken":{"type":"string"},"GetConnectIntegrationByTokenTokenPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"tool":{"type":"string"},"id":{"type":"string"},"end_user_origin_id":{"type":["string","null"]},"end_user_organization_name":{"type":"string"},"end_user_email":{"type":["string","null"],"pattern":"^(?!\\.)(?!.*\\.\\.)([\\w'+-.]*)[\\w+-]@([\\da-z][\\da-z-]*\\.)+[a-z]{2,}$"},"setup_status":{"type":"string","enum":["INCOMPLETE","FINAL_SYNC_PENDING","COMPLETED"],"description":"The setup_status is used in conjunction with the filtering and field mapping features. If these are enabled in the connection flow, the integration will start in an \"INCOMPLETE\" state and move to \"COMPLETE\" once all steps are finished.\n\n- `INCOMPLETE`: Setup is still in progress. Some steps aren’t finished, so no data is available yet. Syncs only run as needed for setup.\n- `FINAL_SYNC_PENDING`: Setup is complete, and the final sync is running. Data will be available after this sync is done.\n- `COMPLETED`: Setup is fully finished, and the integration is ready to use."}},"required":["tool","id","end_user_origin_id","end_user_organization_name","end_user_email","setup_status"],"examples":[{"tool":"personio","id":"personio:CBNMt7dSNCzBdnRTx87dev4E","end_user_origin_id":"36123","end_user_organization_name":"Acme, Inc.","end_user_email":"user@example.com","setup_status":"COMPLETED"}]}},"required":["status","data"]},"PostConnectActivateIntegrationPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"tool":{"type":"string"},"id":{"type":"string"},"end_user_origin_id":{"type":["string","null"]},"end_user_organization_name":{"type":"string"},"end_user_email":{"type":["string","null"],"pattern":"^(?!\\.)(?!.*\\.\\.)([\\w'+-.]*)[\\w+-]@([\\da-z][\\da-z-]*\\.)+[a-z]{2,}$"},"setup_status":{"type":"string","enum":["INCOMPLETE","FINAL_SYNC_PENDING","COMPLETED"],"description":"The setup_status is used in conjunction with the filtering and field mapping features. If these are enabled in the connection flow, the integration will start in an \"INCOMPLETE\" state and move to \"COMPLETE\" once all steps are finished.\n\n- `INCOMPLETE`: Setup is still in progress. Some steps aren’t finished, so no data is available yet. Syncs only run as needed for setup.\n- `FINAL_SYNC_PENDING`: Setup is complete, and the final sync is running. Data will be available after this sync is done.\n- `COMPLETED`: Setup is fully finished, and the integration is ready to use."}},"required":["tool","id","end_user_origin_id","end_user_organization_name","end_user_email","setup_status"],"examples":[{"tool":"personio","id":"personio:CBNMt7dSNCzBdnRTx87dev4E","end_user_origin_id":"36123","end_user_organization_name":"Acme, Inc.","end_user_email":"user@example.com","setup_status":"COMPLETED"}]}},"required":["status","data"]},"PostConnectActivateIntegrationRequestBody":{"type":"object","properties":{"token":{"type":"string"}},"required":["token"]},"GetCustomDatevSystemInformationPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"consultant_number":{"type":"number","format":"double","minimum":1000,"maximum":9999999,"description":"The consultant number used for this DATEV integration (BeraterNr)."},"client_number":{"type":"number","format":"double","minimum":1,"maximum":99999,"description":"The client number used for this DATEV integration (MandantenNr)."},"target_system":{"type":"string","enum":["LODAS","LuG"],"description":"The target system's name (Ziel)."}},"required":["consultant_number","client_number","target_system"],"examples":[{"consultant_number":1234567,"client_number":99999,"target_system":"LODAS"}]}},"required":["status","data"]},"PostCustomDatevPassthroughPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","examples":[{}]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PostCustomDatevPassthroughRequestBody":{"type":"object","properties":{"file_content":{"type":"string","minLength":1},"accounting_month":{"description":"YYYY-MM-DDTHH:mm:ss.sssZ","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"target_system":{"type":"string","enum":["LODAS","LuG"]},"file_type":{"type":"string","enum":["STAMMDATEN","BEWEGUNGSDATEN"]},"file_name":{"type":"string","examples":["Stammdaten.txt"]}},"required":["file_content","accounting_month","target_system","file_type","file_name"]},"GetCustomDatevCheckEauPermissionPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"ready":{"type":"boolean"},"error":{"type":"string"}},"required":["ready"]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"GetCustomDatevEauRequestsEauIdParameterEauId":{"type":"string"},"GetCustomDatevEauRequestsEauIdPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"raw":{"type":"object","properties":{"source":{"type":"string","description":"DATEV source system system (LuG or LODAS)."},"start_work_incapacity":{"type":"string","description":"2022-01-13"},"collaboration_identifier":{"type":"string","description":"Internal DATEV identifier."},"feedbacks_from_health_insurance":{"type":"array","items":{"type":"object","properties":{"guid":{"type":"string","description":"The unique identifier of the feedback."},"contact_person":{"type":["object","null"],"properties":{"gender_contact_person":{"type":["string","null"],"enum":["M","F","X","D"],"description":"[DEPRECATED] Gender of the contact person. M (male), W (female), X (unknown), D (divers)."},"name":{"type":"string","description":"Name of the contact person."},"telephone":{"type":"string","description":"Telephone number of the contact person."},"fax":{"type":["string","null"],"description":"Fax number of the contact person."},"email":{"type":["string","null"],"description":"Email address of the contact person."},"name1_health_insurance":{"type":"string","description":"Name of the health insurance."},"name2_health_insurance":{"type":["string","null"],"description":"[DEPRECATED] Second part of the health insurance name."},"name3_health_insurance":{"type":["string","null"],"description":"[DEPRECATED] Third part of the health insurance name."},"postal_code":{"type":"string","description":"Postal code of the contact person."},"city":{"type":"string","description":"City of the contact person."},"street":{"type":["string","null"],"description":"Street of the contact person."},"house_number":{"type":["string","null"],"description":"House number of the contact person."}},"required":["name","telephone","fax","email","name1_health_insurance","postal_code","city","street","house_number"]},"incapacity_for_work":{"type":"object","properties":{"start_work_incapacity_employer":{"type":"string","description":"yyyy-MM-dd date provided in the initial request."},"start_work_incapacity_au":{"type":["string","null"],"description":"yyyy-MM-dd start date of the AU."},"end_work_incapacity_au":{"type":["string","null"],"description":"yyyy-MM-dd expected end date of the AU."},"actual_end_work_incapacity_au":{"type":["string","null"],"description":"yyyy-MM-dd actual end date after the hospitalization report was received."},"date_of_diagnosis":{"type":["string","null"],"description":"yyyy-MM-dd date of diagnosis"},"flag_current_work_incapacity":{"type":["number","null"],"format":"double","minimum":-1.7976931348623157e+308,"description":"Flag: 0 = unknown\nFlag: 1 = Health insurance not responsible\nFlag: 2 = incapacity for work\nFlag: 3 = hospitalisation\nFlag: 4 = eAU or hospitalisation-report is not existing\nFlag: 5 = rehabilitation prevention\nFlag: 6 = inpatient hospital treatment\nFlag: 7 = in verification\nFlag: 8 = other evidence available\nFlag: 9 = forwarding procedure"},"accident_at_work":{"type":"boolean","description":"If the accident is a work accident according to § 295 Para. 1 SGB V."},"assignment_accident_insurance_doctor":{"type":"boolean","description":"Indication of whether the insured person has been assigned to the accident insurance doctor."},"other_accident":{"type":"boolean","description":"If the accident is the result of another accident according to § 295 Para. 1 SGB V."},"start_hospitalisation":{"type":["string","null"],"description":"[DEPRECATED] yyyy-MM-dd start date of the hospitalization."},"end_hospitalisation":{"type":["string","null"],"description":"[DEPRECATED] yyyy-MM-dd end date of the actual hospitalization."},"initial_certificate":{"type":"boolean","description":"Whether the certificate is initial or a follow up certificate."},"automatic_feedback_until":{"type":["string","null"],"description":"yyyy-MM-dd date until the health insurance will update this requests status."}},"required":["start_work_incapacity_employer","start_work_incapacity_au","end_work_incapacity_au","date_of_diagnosis","flag_current_work_incapacity","accident_at_work","assignment_accident_insurance_doctor","other_accident","initial_certificate","automatic_feedback_until"]},"error_block_list":{"type":["array","null"],"items":{"type":"object","properties":{"origin":{"type":["string","null"],"description":"Origin of the error. (Health insurance or DATEV)"},"error_number":{"type":["string","null"],"description":"Error code"},"error_text":{"type":["string","null"],"description":"Human readable description of the error."},"error_value":{"type":["string","null"],"description":"Erroneous value in case of a validation error. (e.g. date)"}},"required":["origin","error_number","error_text","error_value"]}}},"required":["guid","contact_person","incapacity_for_work","error_block_list"]}}},"required":["source","start_work_incapacity","feedbacks_from_health_insurance"]}},"required":["raw"]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"GetCustomDatevCheckDocumentPermissionPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"anyOf":[{"type":"object","properties":{"ready":{"type":"boolean"},"documents_granted":{"type":"array","items":{"type":"string"}}},"required":["ready","documents_granted"]},{"type":"object","properties":{"ready":{"type":"boolean"},"error":{"type":"string"}},"required":["ready","error"]}]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"GetCustomDatevAvailableDocumentsParameterPeriod":{"type":"string","description":"Provide the period in the format YYYY-MM-DD for which to check for available documents."},"GetCustomDatevAvailableDocumentsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"document_type":{"type":"string","description":"The document's type."},"available_for_employees":{"type":"array","items":{"type":"object","properties":{"id":{"type":["string","null"]},"remote_id":{"type":"string"}},"required":["id","remote_id"]},"description":"List of employees this document is available for."},"is_company_document":{"type":"boolean","description":"Is true if the document is a company document."}},"required":["document_type","available_for_employees","is_company_document"]}}},"required":["results"],"examples":[{"results":[{"document_type":"LOBN","available_for_employees":[{"id":"8Xi6iZrwusZqJmDGXs49GBmJ","remote_id":"123456"}],"is_company_document":false},{"document_type":"LOJO","available_for_employees":[],"is_company_document":true}]}]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PostCustomDatevDownloadDocumentPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"data_url":{"type":"string","format":"uri","description":"The URL to download the document from."},"file_name":{"type":"string"},"content_type":{"type":"string"}},"required":["data_url","file_name","content_type"]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PostCustomDatevDownloadDocumentRequestBody":{"type":"object","properties":{"accounting_month":{"description":"The month to request the document for.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"document_type":{"type":"string","enum":["AANB","ABEG","BUBE","DAWE","KBNW","KOST","KOTR","LKTO","LOBN","LJOE","LOJE","LOJO","LOPE","LOPN","LOPS","LORE","LOWE","LSTA","LSTB","LSTE","PDAT","PFAN","PRZA","SBNW","SVNW","WEAN","ZABR","ZAKF","ZAUW"],"description":"Brutto/Netto (LOBN)\n\nLohnsteuerbescheinigung (german/english) (LSTB/LSTE)\n\nSV-Nachweis (SVNW)\n\nA1-Bescheinigung (ABEG)\n\nAntragsbestätigung A1-Bescheinigung (AANB)\n\nBuchungsbeleg (BUBE)\n\nLohnjournal (german/english) (LOJO/LJOE)\n\nLohnsteueranmeldung (LSTA)\n\nBeitragsnachweis (KBNW)\n\nBeitragsnachweis-Erläuterung (SBNW)\n\nÜbersicht Zahlungen (ZAKF)\n\nDÜ Zahlungen (PRZA)\n\nBarauszahlungswerte (ZABR)\n\nÜberzahlungen-Werte (ZAUW)\n\nPersonalkostenübersicht (german/english) (LOPS/LOPE)\n\nKostenstellenwerte (KOST)\n\nKostenträgerwerte (KOTR)\n\nLohnartenwerte einfach/erweitert (LOWE/LOPN)\n\nLohnkonto (LKTO)\n\nPersonalreport (LORE)\n\nMitarbeiterstammdaten (PDAT)\n\nPfändungswerte (PFAN)\n\nDarlehenswerte (DAWE)\n\nWertguthaben je Arbeitnehmer (WEAN)"},"employee_id":{"type":["string","null"]}},"required":["accounting_month","document_type","employee_id"],"description":"The data to request an electronic certificate of incapacity for work (eAU).","examples":[{"accounting_month":"2001-12-01","document_type":"LOJE","employee_id":null},{"accounting_month":"2001-12-01","document_type":"LSTB","employee_id":"remote:200"}]},"PostCustomDatevEmployeesEmployeeIdDownloadDocumentParameterEmployeeId":{"type":["string","null"]},"PostCustomDatevEmployeesEmployeeIdDownloadDocumentPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"data_url":{"type":"string","format":"uri","description":"The URL to download the document from."},"file_name":{"type":"string"},"content_type":{"type":"string"}},"required":["data_url","file_name","content_type"]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PostCustomDatevEmployeesEmployeeIdDownloadDocumentRequestBody":{"type":"object","properties":{"accounting_month":{"description":"The month to request the document for.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"document_type":{"type":"string","enum":["AANB","ABEG","BUBE","DAWE","KBNW","KOST","KOTR","LKTO","LOBN","LJOE","LOJE","LOJO","LOPE","LOPN","LOPS","LORE","LOWE","LSTA","LSTB","LSTE","PDAT","PFAN","PRZA","SBNW","SVNW","WEAN","ZABR","ZAKF","ZAUW"],"description":"Brutto/Netto (LOBN)\n\nLohnsteuerbescheinigung (german/english) (LSTB/LSTE)\n\nSV-Nachweis (SVNW)\n\nA1-Bescheinigung (ABEG)\n\nAntragsbestätigung A1-Bescheinigung (AANB)\n\nBuchungsbeleg (BUBE)\n\nLohnjournal (german/english) (LOJO/LJOE)\n\nLohnsteueranmeldung (LSTA)\n\nBeitragsnachweis (KBNW)\n\nBeitragsnachweis-Erläuterung (SBNW)\n\nÜbersicht Zahlungen (ZAKF)\n\nDÜ Zahlungen (PRZA)\n\nBarauszahlungswerte (ZABR)\n\nÜberzahlungen-Werte (ZAUW)\n\nPersonalkostenübersicht (german/english) (LOPS/LOPE)\n\nKostenstellenwerte (KOST)\n\nKostenträgerwerte (KOTR)\n\nLohnartenwerte einfach/erweitert (LOWE/LOPN)\n\nLohnkonto (LKTO)\n\nPersonalreport (LORE)\n\nMitarbeiterstammdaten (PDAT)\n\nPfändungswerte (PFAN)\n\nDarlehenswerte (DAWE)\n\nWertguthaben je Arbeitnehmer (WEAN)"}},"required":["accounting_month","document_type"],"description":"The data to request an electronic certificate of incapacity for work (eAU).","examples":[{"accounting_month":"2001-12-01","document_type":"LOJE"},{"accounting_month":"2001-12-01","document_type":"LSTB"}]},"PostCustomDatevEmployeesEmployeeIdEauRequestsParameterEmployeeId":{"type":"string","description":"ID of the employee that should be updated. You can use their Kombo `id` or their ID in the remote system by prefixing it with `remote:` (e.g., `remote:12312`)"},"PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"eau_id":{"type":"string"}},"required":["eau_id"]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBody":{"type":"object","properties":{"start_work_incapacity":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Date \"start_work_incapacity\" from the original eAU-Request."},"notification":{"type":"object","properties":{"email":{"type":"string","pattern":"^[\\w!#$%&'*+/=?^`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^`{|}~-]+)*@(?:[\\w-]+\\.)+[\\w-]{2,}$","description":"This is the email address that should be notified as soon as a feedback is received."}},"required":["email"]},"contact_person":{"type":"object","properties":{"gender":{"type":"string","enum":["M","W","X","D"]},"name":{"type":"string","minLength":0,"maxLength":30},"telephone":{"type":"string","minLength":0,"maxLength":20,"pattern":"([\\d+])[\\d ()/-]+"},"fax":{"type":"string","minLength":0,"maxLength":20,"pattern":"([\\d+])[\\d ()/-]+"},"email":{"type":"string","minLength":0,"maxLength":70,"pattern":"^(?=.{1,64}@)[\\w-]+(\\.[\\w-]+)*@[^-][\\dA-Za-z-]+(\\.[\\dA-Za-z-]+)*(\\.[A-Za-z]{2,})$"},"company_name":{"type":"string","minLength":0,"maxLength":90},"postal_code":{"type":"string","minLength":0,"maxLength":10,"pattern":"[\\dA-Za-z]*"},"city":{"type":"string","minLength":0,"maxLength":34},"street":{"type":"string","minLength":0,"maxLength":33},"house_number":{"type":"string","minLength":0,"maxLength":9}},"required":["gender","name","telephone","fax","email","company_name","postal_code","city","street","house_number"],"description":"The data-section for the contact person which is responsible for feedback from the health insurance."}},"required":["start_work_incapacity"],"description":"The data to request an electronic certificate of incapacity for work (eAU).","examples":[{"start_work_incapacity":"2022-01-01"}]},"PutCustomDatevEmployeesEmployeeIdPreparePayrollParameterEmployeeId":{"type":"string","description":"ID of the employee that should be updated. You can use their Kombo `id` or their ID in the remote system by prefixing it with `remote:` (e.g., `remote:12312`)"},"PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object"},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody":{"type":"object","properties":{"payroll_run":{"type":"object","properties":{"date":{"description":"YYYY-MM-DDTHH:mm:ss.sssZ","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}}},"required":["date"]},"hourly_payments":{"type":"array","items":{"type":"object","properties":{"hours":{"type":"number","format":"double","minimum":-1.7976931348623157e+308,"description":"Number of hours this employee has worked."},"lohnart":{"type":"number","format":"double","minimum":-1.7976931348623157e+308,"description":"The \"Lohnart\" (payment-type) in DATEV. Make sure a Lohnart is selected that actually supports hours."}},"required":["hours","lohnart"]},"description":"Add entries for all the hourly calculated supplements here. For example you can write \"Overtime\" or \"Work on Holidays\" (in hours here). Unfortunately, DATEV doens't allow showing a lable for the entries."},"fixed_payments":{"type":"array","items":{"type":"object","properties":{"amount":{"type":"number","format":"double","minimum":-1.7976931348623157e+308},"lohnart":{"type":"number","format":"double","minimum":-1.7976931348623157e+308,"description":"The \"Lohnart\" (payment-type) in DATEV. Make sure a Lohnart is selected that actually supports fixed payments (no hourly modifier)."}},"required":["amount","lohnart"]},"description":"Add entries for all the fixed supplements here. For example you can write \"Bonuses\" (in Euros here). Unfortunately, DATEV doens't allow showing a lable for the entries."},"custom_lodas":{"type":"array","items":{"type":"object","properties":{"amount":{"type":"number","format":"double","minimum":-1.7976931348623157e+308,"description":"This amount value will be mapped to Datev \"Wert\" field."},"lohnart":{"type":"number","format":"double","minimum":-1.7976931348623157e+308,"description":"Choose a valid Lodas Lohnart."},"bearbeitungsschluessel":{"type":"number","format":"double","minimum":-1.7976931348623157e+308,"description":"Choose a valid Lodas Bearbeitungsschlüssel. We list the valid Bearbeitungsschlüssel [here](https://storage.googleapis.com/kombo-assets/integrations/datev/lodas_bs.json)."}},"required":["amount","lohnart","bearbeitungsschluessel"]},"default":[],"description":"Add custom entries to the DATEV Lodas Standard Erfassungstabelle."}},"required":["payroll_run","hourly_payments","fixed_payments"]},"PutCustomDatevEmployeesEmployeeIdCompensationsParameterEmployeeId":{"type":"string","description":"ID of the employee that should be updated. You can use their Kombo `id` or their ID in the remote system by prefixing it with `remote:` (e.g., `remote:12312`)"},"PutCustomDatevEmployeesEmployeeIdCompensationsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object"},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PutCustomDatevEmployeesEmployeeIdCompensationsRequestBody":{"type":"object","properties":{"effective_date":{"description":"Date from which the submitted compensations should be valid. Please note that it might not be possible to set compensations for the past if the payroll was already run.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"compensations":{"type":"array","items":{"type":"object","properties":{"amount":{"type":"number","format":"double","minimum":-1.7976931348623157e+308,"description":"The amount that this employee will be paid."},"currency":{"type":"string","const":"EUR","description":"The currency in which the employee gets paid. Currently, only euro is supported as integrated systems only work with Euro."},"period":{"type":"string","enum":["HOUR","MONTH"],"description":"The period for which the specified amount is paid. Currently, integrated systems only support \"HOUR\" and \"MONTH\"."},"lohnart":{"type":"integer","format":"int64","minimum":1,"maximum":9999,"description":"The Lohnart that should be used for this compensation. If not specified, the default Lohnart that was requested in the connection flow will be used. Generally Lohnart is only available for monthly compensations."}},"required":["amount","currency","period"]}}},"required":["effective_date","compensations"]},"GetCustomDatevCheckWritePermissionPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"ready":{"type":"boolean"},"error":{"type":"string"}},"required":["ready"]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"GetCustomDatevDataPushesPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"data_pushes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["GENERAL","PAYROLL"],"description":"Type of the executed data push."},"created_at":{"description":"Date when the push-data endpoint was called.","type":"string","format":"date-time","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"upload_jobs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"file_name":{"type":"string"},"state":{"type":"string","enum":["FAILED","UPLOADED","IMPORTED","CORRUPTED","DELETED","AUTO_DELETED"],"description":"If we were not able to send the file to DATEV, we will set the state \"FAILED\". The other values are synced from DATEV for the respective import jobs."},"file":{"type":"string","description":"Actual content of the file."}},"required":["id","file_name","state","file"]},"description":"List of all the submitted files. This can include multiple files if data was edited for multiple months."}},"required":["id","type","created_at","upload_jobs"]}}},"required":["data_pushes"]}},"required":["status","data"]},"PostCustomDatevPushDataGeneralPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"files":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"content":{"type":"string"}},"required":["name","content"]}}},"required":["files"],"examples":[{"files":[{"name":"EXTF_Stammdaten.csv","content":"EXTF;700;21;Stammdaten;..."}]}]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PostCustomDatevPushDataGeneralRequestBody":{"type":"object"},"PostCustomDatevPushDataPayrollPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object","properties":{"files":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"content":{"type":"string"}},"required":["name","content"]}}},"required":["files"],"examples":[{"files":[{"name":"EXTF_Bewegungsdaten.csv","content":"EXTF;700;21;Bewegungsdaten;..."}]}]},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PostCustomDatevPushDataPayrollRequestBody":{"type":"object","properties":{"payroll_month":{"description":"Specify the month for which the payroll data should be submitted. The date must be specified as the first day of a month (e.g. 2022-12-01).","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}}},"required":["payroll_month"]},"PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsParameterEmployeeId":{"type":"string","description":"ID of the employee that should be updated. You can use their Kombo `id` or their ID in the remote system by prefixing it with `remote:` (e.g., `remote:12312`)"},"PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsPositiveResponse":{"type":"object","properties":{"status":{"type":"string","const":"success"},"data":{"type":"object"},"warnings":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"description":"These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console."}},"required":["status","data","warnings"]},"PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsRequestBody":{"type":"object","properties":{"supplement_code":{"type":"string","description":"The ID code of the supplement that you want to add to Silae."},"effective_date":{"description":"Date from which the submitted supplement should be active.","type":"string","format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?)?Z?$","externalDocs":{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString"}},"element_amount":{"type":"number","format":"double","minimum":-1.7976931348623157e+308,"description":"The amount of the supplement if it requires a number."},"element_string":{"type":"string","description":"The string of the supplement if it requires a string."}},"required":["supplement_code","effective_date"]},"DataChangedWebhookPayload":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for this webhook event"},"type":{"type":"string","enum":["data-changed"],"description":"Type of the webhook event"},"data":{"type":"object","properties":{"integration_id":{"type":"string","description":"The unique identifier of the integration."},"integration_tool":{"type":"string","description":"The name of the integrated tool (e.g., \"personio\", \"greenhouse\")."},"integration_category":{"type":"string","enum":["HRIS","ATS","ASSESSMENT"],"description":"The category of the integration (HRIS, ATS, or ASSESSMENT)."},"changed_models":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","enum":["hris_legal_entities","hris_locations","hris_employees","hris_absence_types","hris_absences","hris_employments","hris_teams","hris_time_off_balances","hris_timesheets","hris_employee_document_categories","hris_performance_reviews","hris_performance_review_cycles","ats_users","ats_jobs","ats_job_postings","ats_candidates","ats_application_stages","ats_applications","ats_screening_questions","ats_tags","ats_interviews","ats_offers","ats_rejection_reasons","hris_join_employees_teams","ats_join_candidates_tags","ats_join_jobs_application_stages","ats_join_jobs_screening_questions","ats_join_jobs_users","ats_join_interviews_users"],"description":"The name of the Kombo model or connection that changed."}},"required":["name"],"additionalProperties":false,"description":"A model or connection that has changed in the integration."},"description":"List of data models and connections for which one or more records were created, updated, or deleted."}},"required":["integration_id","integration_tool","integration_category","changed_models"],"additionalProperties":false}},"required":["id","type","data"],"additionalProperties":false},"ConnectionFlowFailedWebhookPayload":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for this webhook event"},"type":{"type":"string","enum":["connection-flow-failed"],"description":"Type of the webhook event"},"data":{"type":"object","properties":{"integration_tool":{"type":"string","description":"The name of the integrated tool (e.g., \"personio\", \"greenhouse\")."},"integration_category":{"type":"string","enum":["HRIS","ATS","ASSESSMENT"],"description":"The category of the integration (HRIS, ATS, or ASSESSMENT)."},"end_user":{"type":"object","properties":{"organization_name":{"type":"string","description":"The name of the organization that owns the integration."},"creator_email":{"type":"string","nullable":true,"description":"The email address of the user who created the integration.","format":"email"},"origin_id":{"type":"string","nullable":true,"description":"The unique identifier of the organization in the integrated system."}},"required":["organization_name","creator_email","origin_id"],"additionalProperties":false,"description":"Information about the end user who created the integration."},"log_url":{"type":"string","format":"uri","description":"URL to view detailed logs for the operation."}},"required":["integration_tool","integration_category","end_user","log_url"],"additionalProperties":false}},"required":["id","type","data"],"additionalProperties":false},"IntegrationCreatedWebhookPayload":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for this webhook event"},"type":{"type":"string","enum":["integration-created"],"description":"Type of the webhook event"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the newly created integration."},"tool":{"type":"string","description":"The name of the integrated tool."},"category":{"type":"string","enum":["HRIS","ATS","ASSESSMENT"],"description":"The category of the integration."},"end_user":{"type":"object","properties":{"organization_name":{"type":"string","description":"The name of the organization that owns the integration."},"creator_email":{"type":"string","nullable":true,"description":"The email address of the user who created the integration.","format":"email"},"origin_id":{"type":"string","nullable":true,"description":"The unique identifier of the organization in the integrated system."}},"required":["organization_name","creator_email","origin_id"],"additionalProperties":false,"description":"Information about the end user who created the integration."}},"required":["id","tool","category","end_user"],"additionalProperties":false}},"required":["id","type","data"],"additionalProperties":false},"IntegrationDeletedWebhookPayload":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for this webhook event"},"type":{"type":"string","enum":["integration-deleted"],"description":"Type of the webhook event"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the deleted integration."},"tool":{"type":"string","description":"The name of the integrated tool."},"category":{"type":"string","enum":["HRIS","ATS","ASSESSMENT"],"description":"The category of the integration."},"end_user":{"type":"object","properties":{"organization_name":{"type":"string","description":"The name of the organization that owns the integration."},"creator_email":{"type":"string","nullable":true,"description":"The email address of the user who created the integration.","format":"email"},"origin_id":{"type":"string","nullable":true,"description":"The unique identifier of the organization in the integrated system."}},"required":["organization_name","creator_email","origin_id"],"additionalProperties":false,"description":"Information about the end user who created the integration."},"deleted_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp when the integration was deleted."}},"required":["id","tool","category","end_user","deleted_at"],"additionalProperties":false}},"required":["id","type","data"],"additionalProperties":false},"AssessmentOrderReceivedWebhookPayload":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for this webhook event"},"type":{"type":"string","enum":["assessment:order-received"],"description":"Type of the webhook event"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the assessment order."},"package_id":{"type":"string","description":"The identifier of the assessment package."},"status":{"type":"string","enum":["OPEN","COMPLETED","CANCELLED","REJECTED"],"description":"The current status of the assessment order."},"integration_id":{"type":"string","description":"The unique identifier of the integration."},"candidate":{"type":"object","properties":{"email":{"type":"string","description":"The candidate's email address.","format":"email"},"first_name":{"type":"string","nullable":true,"description":"The candidate's first name."},"last_name":{"type":"string","nullable":true,"description":"The candidate's last name."},"phone":{"type":"string","nullable":true,"description":"The candidate's phone number."},"remote_id":{"type":"string","nullable":true,"description":"The candidate's identifier in the integrated system."}},"required":["email"],"additionalProperties":false,"description":"Information about the candidate taking the assessment."},"application":{"type":"object","properties":{"remote_id":{"type":"string","nullable":true,"description":"The application's identifier in the integrated system."}},"additionalProperties":false,"description":"Information about the job application."},"job":{"type":"object","properties":{"remote_id":{"type":"string","nullable":true,"description":"The job's identifier in the integrated system."},"name":{"type":"string","nullable":true,"description":"The job title."},"location":{"type":"object","properties":{"city":{"type":"string","nullable":true},"country":{"type":"string","nullable":true,"description":"Contains the ISO2 country code if possible. If not, it contains the original value."},"raw":{"type":"string","nullable":true,"description":"If we have address data, this is filled with the raw address string."},"state":{"type":"string","nullable":true},"street_1":{"type":"string","nullable":true,"description":"If we can parse the address data, this field contains the first part of the street information."},"street_2":{"type":"string","nullable":true},"zip_code":{"type":"string","nullable":true}},"additionalProperties":false,"nullable":true,"description":"The job location information."},"hiring_team":{"type":"array","items":{"type":"object","properties":{"remote_id":{"type":"string","description":"The team member's identifier in the integrated system."},"email":{"type":"string","nullable":true,"description":"The team member's email address."},"first_name":{"type":"string","nullable":true,"description":"The team member's first name."},"last_name":{"type":"string","nullable":true,"description":"The team member's last name."},"hiring_team_roles":{"type":"array","items":{"type":"string","enum":["RECRUITER","HIRING_MANAGER"]},"description":"Array of the roles of the user for this specific job. Currently only `RECRUITER` and `HIRING_MANAGER` are mapped into our unified schema."}},"required":["remote_id","email","first_name","last_name","hiring_team_roles"],"additionalProperties":false,"description":"A member of the hiring team."},"description":"The hiring team allows you to sync users into your system who can access the job and its applications."}},"required":["hiring_team"],"additionalProperties":false,"description":"Information about the job posting."}},"required":["id","package_id","status","integration_id","candidate","application","job"],"additionalProperties":false}},"required":["id","type","data"],"additionalProperties":false},"InlineAssessmentOrderReceivedWebhookPayload":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for this webhook event"},"type":{"type":"string","enum":["inline-assessment:order-received"],"description":"Type of the webhook event"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the assessment order."},"package_id":{"type":"string","description":"The identifier of the assessment package."},"status":{"type":"string","enum":["OPEN","COMPLETED","CANCELLED","REJECTED"],"description":"The current status of the assessment order."},"integration_id":{"type":"string","description":"The unique identifier of the integration."},"candidate":{"type":"object","properties":{"email":{"type":"string","description":"The candidate's email address.","format":"email"},"first_name":{"type":"string","nullable":true,"description":"The candidate's first name."},"last_name":{"type":"string","nullable":true,"description":"The candidate's last name."},"phone":{"type":"string","nullable":true,"description":"The candidate's phone number."},"remote_id":{"type":"string","nullable":true,"description":"The candidate's identifier in the integrated system."}},"required":["email"],"additionalProperties":false,"description":"Information about the candidate taking the assessment."},"application":{"type":"object","properties":{"remote_id":{"type":"string","nullable":true,"description":"The application's identifier in the integrated system."}},"additionalProperties":false,"description":"Information about the job application."},"job":{"type":"object","properties":{"remote_id":{"type":"string","nullable":true,"description":"The job's identifier in the integrated system."},"name":{"type":"string","nullable":true,"description":"The job title."},"location":{"type":"object","properties":{"city":{"type":"string","nullable":true},"country":{"type":"string","nullable":true,"description":"Contains the ISO2 country code if possible. If not, it contains the original value."},"raw":{"type":"string","nullable":true,"description":"If we have address data, this is filled with the raw address string."},"state":{"type":"string","nullable":true},"street_1":{"type":"string","nullable":true,"description":"If we can parse the address data, this field contains the first part of the street information."},"street_2":{"type":"string","nullable":true},"zip_code":{"type":"string","nullable":true}},"additionalProperties":false,"nullable":true,"description":"The job location information."},"hiring_team":{"type":"array","items":{"type":"object","properties":{"remote_id":{"type":"string","description":"The team member's identifier in the integrated system."},"email":{"type":"string","nullable":true,"description":"The team member's email address."},"first_name":{"type":"string","nullable":true,"description":"The team member's first name."},"last_name":{"type":"string","nullable":true,"description":"The team member's last name."},"hiring_team_roles":{"type":"array","items":{"type":"string","enum":["RECRUITER","HIRING_MANAGER"]},"description":"Array of the roles of the user for this specific job. Currently only `RECRUITER` and `HIRING_MANAGER` are mapped into our unified schema."}},"required":["remote_id","email","first_name","last_name","hiring_team_roles"],"additionalProperties":false,"description":"A member of the hiring team."},"description":"The hiring team allows you to sync users into your system who can access the job and its applications."}},"required":["hiring_team"],"additionalProperties":false,"description":"Information about the job posting."}},"required":["id","package_id","status","integration_id","candidate","application","job"],"additionalProperties":false}},"required":["id","type","data"],"additionalProperties":false},"IntegrationStateChangedWebhookPayload":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for this webhook event"},"type":{"type":"string","enum":["integration-state-changed"],"description":"Type of the webhook event"},"data":{"type":"object","properties":{"integration_tool":{"type":"string","description":"The name of the integrated tool (e.g., \"personio\", \"greenhouse\")."},"integration_id":{"type":"string","description":"The unique identifier of the integration."},"integration_category":{"type":"string","enum":["HRIS","ATS","ASSESSMENT"],"description":"The category of the integration (HRIS, ATS, or ASSESSMENT)."},"end_user":{"type":"object","properties":{"organization_name":{"type":"string","description":"The name of the organization that owns the integration."},"creator_email":{"type":"string","nullable":true,"description":"The email address of the user who created the integration.","format":"email"},"origin_id":{"type":"string","nullable":true,"description":"The unique identifier of the organization in the integrated system."}},"required":["organization_name","creator_email","origin_id"],"additionalProperties":false,"description":"Information about the end user who created the integration."},"qa_status":{"type":"string","enum":["PENDING","FAILED","PASSED"],"description":"The quality assurance status of the integration."},"state":{"type":"string","enum":["ACTIVE","INVALID","INACTIVE"],"description":"The current state of the integration."},"updated_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp when the integration state was last updated."}},"required":["integration_tool","integration_id","integration_category","end_user","qa_status","state","updated_at"],"additionalProperties":false}},"required":["id","type","data"],"additionalProperties":false},"AiApplyApplicationStatusUpdatedWebhookPayload":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for this webhook event"},"type":{"type":"string","enum":["ai-apply-application-status-updated"],"description":"Type of the webhook event"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"job_posting_id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"status":{"type":"string","enum":["PENDING","SUBMITTED","FAILED"]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","job_posting_id","status","created_at","updated_at"],"additionalProperties":false}},"required":["id","type","data"],"additionalProperties":false},"AiApplyJobPostingStatusUpdatedWebhookPayload":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for this webhook event"},"type":{"type":"string","enum":["ai-apply-job-posting-status-updated"],"description":"Type of the webhook event"},"data":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"career_site":{"type":"object","properties":{"id":{"type":"string","description":"The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing."},"label":{"type":"string"}},"required":["id","label"],"additionalProperties":false},"url":{"type":"string"},"job_code":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"archived_at":{"type":"string","format":"date-time","nullable":true,"description":"The date and time the job posting was archived. You can only send applications if the job posting is not archived."},"archived_reason":{"type":"string","enum":["JOB_POSTING_TAKEN_OFFLINE","MANUAL_ARCHIVE"],"nullable":true},"availability":{"type":"string","enum":["APPLYABLE","PENDING","ARCHIVED","UNAVAILABLE"],"description":"The status of the job posting. You can only send applications if the job posting is \"APPLYABLE\"."}},"required":["id","career_site","url","job_code","created_at","updated_at","archived_at","archived_reason","availability"],"additionalProperties":false}},"required":["id","type","data"],"additionalProperties":false},"SyncFinishedWebhookPayload":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for this webhook event"},"type":{"type":"string","enum":["sync-finished"],"description":"Type of the webhook event"},"data":{"type":"object","properties":{"sync_id":{"type":"string","description":"The unique identifier of the sync operation."},"sync_state":{"type":"string","description":"The final state of the sync operation (e.g., `SUCCEEDED`, `FAILED`)."},"sync_started_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp when the sync operation started."},"sync_ended_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp when the sync operation completed."},"sync_duration_seconds":{"type":"integer","minimum":0,"description":"Duration of the sync operation in seconds."},"integration_id":{"type":"string","description":"The unique identifier of the integration."},"integration_tool":{"type":"string","description":"The name of the integrated tool (e.g., \"personio\", \"greenhouse\")."},"integration_category":{"type":"string","enum":["HRIS","ATS","ASSESSMENT"],"description":"The category of the integration (HRIS, ATS, or ASSESSMENT)."},"end_user":{"type":"object","properties":{"organization_name":{"type":"string","description":"The name of the organization that owns the integration."},"creator_email":{"type":"string","nullable":true,"description":"The email address of the user who created the integration.","format":"email"},"origin_id":{"type":"string","nullable":true,"description":"The unique identifier of the organization in the integrated system."}},"required":["organization_name","creator_email","origin_id"],"additionalProperties":false,"description":"Information about the end user who created the integration."},"log_url":{"type":"string","format":"uri","description":"URL to view detailed logs for the operation."}},"required":["sync_id","sync_state","sync_started_at","sync_ended_at","sync_duration_seconds","integration_id","integration_tool","integration_category","end_user","log_url"],"additionalProperties":false}},"required":["id","type","data"],"additionalProperties":false},"RemoteEventReceivedWebhookPayload":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for this webhook event"},"type":{"type":"string","enum":["remote-event-received"],"description":"Type of the webhook event"},"data":{"type":"object","properties":{"integration_id":{"type":"string","description":"The unique identifier of the integration."},"integration_tool":{"type":"string","description":"The name of the integrated tool (e.g., \"personio\", \"greenhouse\")."},"integration_category":{"type":"string","enum":["HRIS","ATS","ASSESSMENT"],"description":"The category of the integration (HRIS, ATS, or ASSESSMENT)."},"end_user":{"type":"object","properties":{"organization_name":{"type":"string","description":"The name of the organization that owns the integration."},"creator_email":{"type":"string","nullable":true,"description":"The email address of the user who created the integration.","format":"email"},"origin_id":{"type":"string","nullable":true,"description":"The unique identifier of the organization in the integrated system."}},"required":["organization_name","creator_email","origin_id"],"additionalProperties":false,"description":"Information about the end user who created the integration."}},"required":["integration_id","integration_tool","integration_category","end_user"],"additionalProperties":false}},"required":["id","type","data"],"additionalProperties":false}},"responses":{"ErrorResponseGeneral":{"description":"The standard error response with just the platform error codes.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error":{"type":"object","properties":{"code":{"type":["string","null"],"enum":["PLATFORM.RATE_LIMIT_EXCEEDED","PLATFORM.INTEGRATION_NOT_FOUND","PLATFORM.INPUT_INVALID","PLATFORM.UNKNOWN_ERROR","PLATFORM.IP_NOT_WHITELISTED","PLATFORM.AUTHENTICATION_INVALID"],"example":"PLATFORM.RATE_LIMIT_EXCEEDED","description":"Some errors include an error code that can be used to identify their cause. See the [Error Handling Docs](https://docs.kombo.dev/guides/errors) for more information. For your error handling logic please use the error `code` instead of other properties (e.g. message, http status code, ...)."},"title":{"type":["string","null"],"description":"A static, human-readable label."},"message":{"type":"string","description":"A dynamic, detailed description of what went wrong in this specific instance."},"log_url":{"type":["string","null"],"format":"uri","description":"The log page in the Kombo UI lists every interaction with full details. If you need assistance, share that link with our support team."}},"required":["code","title","message","log_url"],"description":"Error details with structured code for programmatic handling."}},"required":["status","error"]},"examples":{"Error Response":{"description":"When building error handling logic, always use the `code` field to identify specific error types programmatically. See the complete list of error codes in the [docs](https://docs.kombo.dev/guides/errors).","value":{"status":"error","error":{"code":"INTEGRATION.MODEL_NOT_AVAILABLE","title":"This data model isn't supported for the selected integration.","message":"The \"employees\" model is not yet available for Greenhouse. Please reach out to Kombo if you need this functionality.","log_url":"https://app.kombo.dev/my-prod/logs?interactionId=123456"}}},"Minimal Error Response":{"description":"The \"message\" is always required while other fields can also be `null`. See the [docs](https://docs.kombo.dev/guides/errors) for more information.","value":{"status":"error","error":{"code":null,"title":null,"message":"The message is always in the response.","log_url":null}}}}}}},"ErrorResponseHRIS":{"description":"The standard error response with the error codes for the HRIS use case.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error":{"type":"object","properties":{"code":{"type":["string","null"],"enum":["PLATFORM.RATE_LIMIT_EXCEEDED","PLATFORM.INTEGRATION_NOT_FOUND","PLATFORM.INPUT_INVALID","PLATFORM.UNKNOWN_ERROR","PLATFORM.IP_NOT_WHITELISTED","PLATFORM.AUTHENTICATION_INVALID","INTEGRATION.PERMISSION_MISSING","INTEGRATION.AUTHENTICATION_INVALID","INTEGRATION.QA_FAILED","INTEGRATION.SETUP_SYNC_PENDING","INTEGRATION.SETUP_INCOMPLETE","INTEGRATION.INACTIVE","INTEGRATION.MODEL_NOT_AVAILABLE","INTEGRATION.MODEL_DISABLED","INTEGRATION.ACTION_NOT_AVAILABLE","INTEGRATION.ACTION_DISABLED","REMOTE.SERVICE_UNAVAILABLE","REMOTE.RATE_LIMIT_EXCEEDED","REMOTE.INPUT_INVALID","REMOTE.UNKNOWN_HTTP_ERROR"],"example":"HRIS.EMPLOYEE_ALREADY_EXISTS","description":"Some errors include an error code that can be used to identify their cause. See the [Error Handling Docs](https://docs.kombo.dev/guides/errors) for more information. For your error handling logic please use the error `code` instead of other properties (e.g. message, http status code, ...)."},"title":{"type":["string","null"],"description":"A static, human-readable label."},"message":{"type":"string","description":"A dynamic, detailed description of what went wrong in this specific instance."},"log_url":{"type":["string","null"],"format":"uri","description":"The log page in the Kombo UI lists every interaction with full details. If you need assistance, share that link with our support team."}},"required":["code","title","message","log_url"],"description":"Error details with structured code for programmatic handling."}},"required":["status","error"]},"examples":{"Error Response":{"description":"When building error handling logic, always use the `code` field to identify specific error types programmatically. See the complete list of error codes in the [docs](https://docs.kombo.dev/guides/errors).","value":{"status":"error","error":{"code":"INTEGRATION.MODEL_NOT_AVAILABLE","title":"This data model isn't supported for the selected integration.","message":"The \"employees\" model is not yet available for Greenhouse. Please reach out to Kombo if you need this functionality.","log_url":"https://app.kombo.dev/my-prod/logs?interactionId=123456"}}},"Minimal Error Response":{"description":"The \"message\" is always required while other fields can also be `null`. See the [docs](https://docs.kombo.dev/guides/errors) for more information.","value":{"status":"error","error":{"code":null,"title":null,"message":"The message is always in the response.","log_url":null}}}}}}},"ErrorResponseATS":{"description":"The standard error response with the error codes for the ATS use case.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error":{"type":"object","properties":{"code":{"type":["string","null"],"enum":["PLATFORM.RATE_LIMIT_EXCEEDED","PLATFORM.INTEGRATION_NOT_FOUND","PLATFORM.INPUT_INVALID","PLATFORM.UNKNOWN_ERROR","PLATFORM.IP_NOT_WHITELISTED","PLATFORM.AUTHENTICATION_INVALID","INTEGRATION.PERMISSION_MISSING","INTEGRATION.AUTHENTICATION_INVALID","INTEGRATION.QA_FAILED","INTEGRATION.SETUP_SYNC_PENDING","INTEGRATION.SETUP_INCOMPLETE","INTEGRATION.INACTIVE","INTEGRATION.MODEL_NOT_AVAILABLE","INTEGRATION.MODEL_DISABLED","INTEGRATION.ACTION_NOT_AVAILABLE","INTEGRATION.ACTION_DISABLED","REMOTE.SERVICE_UNAVAILABLE","REMOTE.RATE_LIMIT_EXCEEDED","REMOTE.INPUT_INVALID","REMOTE.UNKNOWN_HTTP_ERROR","ATS.JOB_CLOSED","ATS.APPLICATION_ALREADY_EXISTS"],"example":"ATS.JOB_CLOSED","description":"Some errors include an error code that can be used to identify their cause. See the [Error Handling Docs](https://docs.kombo.dev/guides/errors) for more information. For your error handling logic please use the error `code` instead of other properties (e.g. message, http status code, ...)."},"title":{"type":["string","null"],"description":"A static, human-readable label."},"message":{"type":"string","description":"A dynamic, detailed description of what went wrong in this specific instance."},"log_url":{"type":["string","null"],"format":"uri","description":"The log page in the Kombo UI lists every interaction with full details. If you need assistance, share that link with our support team."}},"required":["code","title","message","log_url"],"description":"Error details with structured code for programmatic handling."}},"required":["status","error"]},"examples":{"Error Response":{"description":"When building error handling logic, always use the `code` field to identify specific error types programmatically. See the complete list of error codes in the [docs](https://docs.kombo.dev/guides/errors).","value":{"status":"error","error":{"code":"INTEGRATION.MODEL_NOT_AVAILABLE","title":"This data model isn't supported for the selected integration.","message":"The \"employees\" model is not yet available for Greenhouse. Please reach out to Kombo if you need this functionality.","log_url":"https://app.kombo.dev/my-prod/logs?interactionId=123456"}}},"Minimal Error Response":{"description":"The \"message\" is always required while other fields can also be `null`. See the [docs](https://docs.kombo.dev/guides/errors) for more information.","value":{"status":"error","error":{"code":null,"title":null,"message":"The message is always in the response.","log_url":null}}}}}}},"ErrorResponseAiApply":{"description":"The standard error response with the error codes for AI Apply.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error":{"type":"object","properties":{"code":{"type":["string","null"],"enum":["PLATFORM.RATE_LIMIT_EXCEEDED","PLATFORM.INTEGRATION_NOT_FOUND","PLATFORM.INPUT_INVALID","PLATFORM.UNKNOWN_ERROR","PLATFORM.IP_NOT_WHITELISTED","PLATFORM.AUTHENTICATION_INVALID","REMOTE.SERVICE_UNAVAILABLE","REMOTE.RATE_LIMIT_EXCEEDED","REMOTE.INPUT_INVALID","REMOTE.UNKNOWN_HTTP_ERROR"],"example":"ATS.JOB_CLOSED","description":"Some errors include an error code that can be used to identify their cause. See the [Error Handling Docs](https://docs.kombo.dev/guides/errors) for more information. For your error handling logic please use the error `code` instead of other properties (e.g. message, http status code, ...)."},"title":{"type":["string","null"],"description":"A static, human-readable label."},"message":{"type":"string","description":"A dynamic, detailed description of what went wrong in this specific instance."},"log_url":{"type":["string","null"],"format":"uri","description":"The log page in the Kombo UI lists every interaction with full details. If you need assistance, share that link with our support team."}},"required":["code","title","message","log_url"],"description":"Error details with structured code for programmatic handling."}},"required":["status","error"]},"examples":{"Error Response":{"description":"When building error handling logic, always use the `code` field to identify specific error types programmatically. See the complete list of error codes in the [docs](https://docs.kombo.dev/guides/errors).","value":{"status":"error","error":{"code":"INTEGRATION.MODEL_NOT_AVAILABLE","title":"This data model isn't supported for the selected integration.","message":"The \"employees\" model is not yet available for Greenhouse. Please reach out to Kombo if you need this functionality.","log_url":"https://app.kombo.dev/my-prod/logs?interactionId=123456"}}},"Minimal Error Response":{"description":"The \"message\" is always required while other fields can also be `null`. See the [docs](https://docs.kombo.dev/guides/errors) for more information.","value":{"status":"error","error":{"code":null,"title":null,"message":"The message is always in the response.","log_url":null}}}}}}}},"parameters":{},"examples":{},"requestBodies":{},"headers":{},"securitySchemes":{"ApiKey":{"type":"http","scheme":"bearer","description":"Create an API key on the [Secrets](https://app.kombo.dev/secrets) page in the Kombo dashboard."}},"links":{},"callbacks":{}},"tags":[{"name":"General"},{"name":"Kombo Connect","description":"Endpoints for Kombo Connect, our end-user-facing flow for setting up new integrations."},{"name":"Unified HRIS API","description":"Unified endpoints to access all the HR concepts you might need."},{"name":"Unified ATS API","description":"Unified endpoints to access all the ATS concepts you might need."},{"name":"Unified ATS (Assessment & Background Check) API","description":"Unified endpoints to operate Assessments and Background Checks for many applicant tracking systems."}],"servers":[{"url":"https://api.kombo.dev/v1","description":"Kombo EU API"},{"url":"https://api.us.kombo.dev/v1","description":"Kombo US API"}],"security":[{"ApiKey":[]}],"webhooks":{"data-changed":{"post":{"summary":"Data changed","operationId":"webhookDataChangedWebhookPayload","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataChangedWebhookPayload"}}}},"parameters":[{"name":"X-Kombo-Signature","in":"header","required":true,"description":"HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.","schema":{"type":"string"}}],"responses":{"200":{"description":"Webhook received successfully"}}}},"connection-flow-failed":{"post":{"summary":"Connection flow failed","operationId":"webhookConnectionFlowFailedWebhookPayload","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionFlowFailedWebhookPayload"}}}},"parameters":[{"name":"X-Kombo-Signature","in":"header","required":true,"description":"HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.","schema":{"type":"string"}}],"responses":{"200":{"description":"Webhook received successfully"}}}},"integration-created":{"post":{"summary":"Integration created","operationId":"webhookIntegrationCreatedWebhookPayload","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationCreatedWebhookPayload"}}}},"parameters":[{"name":"X-Kombo-Signature","in":"header","required":true,"description":"HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.","schema":{"type":"string"}}],"responses":{"200":{"description":"Webhook received successfully"}}}},"integration-deleted":{"post":{"summary":"Integration deleted","operationId":"webhookIntegrationDeletedWebhookPayload","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationDeletedWebhookPayload"}}}},"parameters":[{"name":"X-Kombo-Signature","in":"header","required":true,"description":"HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.","schema":{"type":"string"}}],"responses":{"200":{"description":"Webhook received successfully"}}}},"assessment:order-received":{"post":{"summary":"Assessment: Order received","operationId":"webhookAssessmentOrderReceivedWebhookPayload","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssessmentOrderReceivedWebhookPayload"}}}},"parameters":[{"name":"X-Kombo-Signature","in":"header","required":true,"description":"HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.","schema":{"type":"string"}}],"responses":{"200":{"description":"Webhook received successfully"}}}},"inline-assessment:order-received":{"post":{"summary":"Inline assessment: Order received","operationId":"webhookInlineAssessmentOrderReceivedWebhookPayload","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InlineAssessmentOrderReceivedWebhookPayload"}}}},"parameters":[{"name":"X-Kombo-Signature","in":"header","required":true,"description":"HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.","schema":{"type":"string"}}],"responses":{"200":{"description":"Webhook received successfully"}}}},"integration-state-changed":{"post":{"summary":"Integration state changed","operationId":"webhookIntegrationStateChangedWebhookPayload","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationStateChangedWebhookPayload"}}}},"parameters":[{"name":"X-Kombo-Signature","in":"header","required":true,"description":"HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.","schema":{"type":"string"}}],"responses":{"200":{"description":"Webhook received successfully"}}}},"ai-apply-application-status-updated":{"post":{"summary":"AI Apply: Application status updated","operationId":"webhookAiApplyApplicationStatusUpdatedWebhookPayload","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiApplyApplicationStatusUpdatedWebhookPayload"}}}},"parameters":[{"name":"X-Kombo-Signature","in":"header","required":true,"description":"HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.","schema":{"type":"string"}}],"responses":{"200":{"description":"Webhook received successfully"}}}},"ai-apply-job-posting-status-updated":{"post":{"summary":"AI Apply: Job posting status updated","operationId":"webhookAiApplyJobPostingStatusUpdatedWebhookPayload","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiApplyJobPostingStatusUpdatedWebhookPayload"}}}},"parameters":[{"name":"X-Kombo-Signature","in":"header","required":true,"description":"HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.","schema":{"type":"string"}}],"responses":{"200":{"description":"Webhook received successfully"}}}},"sync-finished":{"post":{"summary":"Sync finished","operationId":"webhookSyncFinishedWebhookPayload","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncFinishedWebhookPayload"}}}},"parameters":[{"name":"X-Kombo-Signature","in":"header","required":true,"description":"HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.","schema":{"type":"string"}}],"responses":{"200":{"description":"Webhook received successfully"}},"deprecated":true}},"remote-event-received":{"post":{"summary":"Remote event received","operationId":"webhookRemoteEventReceivedWebhookPayload","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteEventReceivedWebhookPayload"}}}},"parameters":[{"name":"X-Kombo-Signature","in":"header","required":true,"description":"HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.","schema":{"type":"string"}}],"responses":{"200":{"description":"Webhook received successfully"}},"deprecated":true}}}}
\ No newline at end of file
diff --git a/docs/AIApplyApi.md b/docs/AIApplyApi.md
new file mode 100644
index 0000000..4fc38be
--- /dev/null
+++ b/docs/AIApplyApi.md
@@ -0,0 +1,761 @@
+# Kombo::AIApplyApi
+
+All URIs are relative to *https://api.kombo.dev/v1*
+
+| Method | HTTP request | Description |
+| ------ | ------------ | ----------- |
+| [**get_ai_apply_applications**](AIApplyApi.md#get_ai_apply_applications) | **GET** /ai-apply/applications | Get applications |
+| [**get_ai_apply_career_sites**](AIApplyApi.md#get_ai_apply_career_sites) | **GET** /ai-apply/career-sites | Get career sites |
+| [**get_ai_apply_postings**](AIApplyApi.md#get_ai_apply_postings) | **GET** /ai-apply/postings | Get job postings |
+| [**get_ai_apply_unified_api_jobs**](AIApplyApi.md#get_ai_apply_unified_api_jobs) | **GET** /ai-apply/unified-api/jobs | Get jobs |
+| [**post_ai_apply_apply**](AIApplyApi.md#post_ai_apply_apply) | **POST** /ai-apply/apply | Submit job application |
+| [**post_ai_apply_career_sites**](AIApplyApi.md#post_ai_apply_career_sites) | **POST** /ai-apply/career-sites | Create a career site |
+| [**post_ai_apply_postings**](AIApplyApi.md#post_ai_apply_postings) | **POST** /ai-apply/postings | Parse a job posting |
+| [**post_ai_apply_postings_posting_id_inquire**](AIApplyApi.md#post_ai_apply_postings_posting_id_inquire) | **POST** /ai-apply/postings/{posting_id}/inquire | Inquire about a job posting and the application f… |
+| [**post_ai_apply_postings_posting_id_parse**](AIApplyApi.md#post_ai_apply_postings_posting_id_parse) | **POST** /ai-apply/postings/{posting_id}/parse | Re-parse an existing job posting |
+| [**post_ai_apply_unified_api_jobs_job_id_applications**](AIApplyApi.md#post_ai_apply_unified_api_jobs_job_id_applications) | **POST** /ai-apply/unified-api/jobs/{job_id}/applications | Create application |
+
+
+## get_ai_apply_applications
+
+> get_ai_apply_applications(opts)
+
+Get applications
+
+Get all applications.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::AIApplyApi.new
+opts = {
+ cursor: 'cursor_example', # String | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response.
+ page_size: 789, # Integer | The number of results to return per page. Maximum is 250.
+ ids: 'ids_example', # String | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
+ job_posting_ids: 'job_posting_ids_example' # String | Filter by a comma-separated list of job posting IDs such as `89V6GEKpdZwqbxQz59n1ftFb,kcGHREEXCMF26Yhpuyh1gDVE`.
+}
+
+begin
+ # Get applications
+ result = api_instance.get_ai_apply_applications(opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling AIApplyApi->get_ai_apply_applications: #{e}"
+end
+```
+
+#### Using the get_ai_apply_applications_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_ai_apply_applications_with_http_info(opts)
+
+```ruby
+begin
+ # Get applications
+ data, status_code, headers = api_instance.get_ai_apply_applications_with_http_info(opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling AIApplyApi->get_ai_apply_applications_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **cursor** | **String** | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. | [optional] |
+| **page_size** | **Integer** | The number of results to return per page. Maximum is 250. | [optional][default to 100] |
+| **ids** | **String** | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. | [optional] |
+| **job_posting_ids** | **String** | Filter by a comma-separated list of job posting IDs such as `89V6GEKpdZwqbxQz59n1ftFb,kcGHREEXCMF26Yhpuyh1gDVE`. | [optional] |
+
+### Return type
+
+[**GetAiApplyApplicationsPositiveResponse**](GetAiApplyApplicationsPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_ai_apply_career_sites
+
+> get_ai_apply_career_sites(opts)
+
+Get career sites
+
+Get all career sites.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::AIApplyApi.new
+opts = {
+ cursor: 'cursor_example', # String | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response.
+ page_size: 789, # Integer | The number of results to return per page. Maximum is 250.
+ ids: 'ids_example' # String | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
+}
+
+begin
+ # Get career sites
+ result = api_instance.get_ai_apply_career_sites(opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling AIApplyApi->get_ai_apply_career_sites: #{e}"
+end
+```
+
+#### Using the get_ai_apply_career_sites_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_ai_apply_career_sites_with_http_info(opts)
+
+```ruby
+begin
+ # Get career sites
+ data, status_code, headers = api_instance.get_ai_apply_career_sites_with_http_info(opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling AIApplyApi->get_ai_apply_career_sites_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **cursor** | **String** | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. | [optional] |
+| **page_size** | **Integer** | The number of results to return per page. Maximum is 250. | [optional][default to 100] |
+| **ids** | **String** | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. | [optional] |
+
+### Return type
+
+[**GetAiApplyCareerSitesPositiveResponse**](GetAiApplyCareerSitesPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_ai_apply_postings
+
+> get_ai_apply_postings(opts)
+
+Get job postings
+
+Get all job postings. To get the application form and submit applications, use the POST /postings/:id/inquire endpoint.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::AIApplyApi.new
+opts = {
+ cursor: 'cursor_example', # String | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response.
+ page_size: 789, # Integer | The number of results to return per page. Maximum is 250.
+ ids: 'ids_example', # String | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
+ career_site_ids: 'career_site_ids_example', # String | Filter by a comma-separated list of career site IDs such as `A8m9k9RhjNokMfRTWtpQ99VtH,rCbkAA3pvcKjsFYwEeXtCQkc`.
+ job_codes: 'job_codes_example' # String | Filter by a comma-separated list of job codes such as `ACME_13,ACME_14`.
+}
+
+begin
+ # Get job postings
+ result = api_instance.get_ai_apply_postings(opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling AIApplyApi->get_ai_apply_postings: #{e}"
+end
+```
+
+#### Using the get_ai_apply_postings_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_ai_apply_postings_with_http_info(opts)
+
+```ruby
+begin
+ # Get job postings
+ data, status_code, headers = api_instance.get_ai_apply_postings_with_http_info(opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling AIApplyApi->get_ai_apply_postings_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **cursor** | **String** | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. | [optional] |
+| **page_size** | **Integer** | The number of results to return per page. Maximum is 250. | [optional][default to 100] |
+| **ids** | **String** | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. | [optional] |
+| **career_site_ids** | **String** | Filter by a comma-separated list of career site IDs such as `A8m9k9RhjNokMfRTWtpQ99VtH,rCbkAA3pvcKjsFYwEeXtCQkc`. | [optional] |
+| **job_codes** | **String** | Filter by a comma-separated list of job codes such as `ACME_13,ACME_14`. | [optional] |
+
+### Return type
+
+[**GetAiApplyPostingsPositiveResponse**](GetAiApplyPostingsPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_ai_apply_unified_api_jobs
+
+> get_ai_apply_unified_api_jobs(opts)
+
+Get jobs
+
+Get jobs in a backwards compatible way as you would [via Kombo's unified API](https://docs.kombo.dev/ats/v1/get-jobs). This is not the recommended way to get jobs with AI Apply.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::AIApplyApi.new
+opts = {
+ cursor: 'cursor_example', # String | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response.
+ page_size: 789, # Integer | The number of results to return per page. Maximum is 5.
+ ids: 'ids_example', # String | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
+ remote_ids: 'remote_ids_example', # String | This parameter exists for backwards compatibility with Kombo's unified API. Supplying a comma-separated list of remote IDs such as `32,33` will return no jobs because AI Apply does not interface with a remote system that issues remote IDs.
+ job_codes: 'job_codes_example', # String | Filter by a comma-separated list of job codes such as `ACME_12,ACME_14`.
+ career_site_ids: 'career_site_ids_example' # String | Filter by a comma-separated list of career site IDs such as `A8m9k9RhjNokMfRTWtpQ99VtH,rCbkAA3pvcKjsFYwEeXtCQkc`.
+}
+
+begin
+ # Get jobs
+ result = api_instance.get_ai_apply_unified_api_jobs(opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling AIApplyApi->get_ai_apply_unified_api_jobs: #{e}"
+end
+```
+
+#### Using the get_ai_apply_unified_api_jobs_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_ai_apply_unified_api_jobs_with_http_info(opts)
+
+```ruby
+begin
+ # Get jobs
+ data, status_code, headers = api_instance.get_ai_apply_unified_api_jobs_with_http_info(opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling AIApplyApi->get_ai_apply_unified_api_jobs_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **cursor** | **String** | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. | [optional] |
+| **page_size** | **Integer** | The number of results to return per page. Maximum is 5. | [optional][default to 5] |
+| **ids** | **String** | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. | [optional] |
+| **remote_ids** | **String** | This parameter exists for backwards compatibility with Kombo's unified API. Supplying a comma-separated list of remote IDs such as `32,33` will return no jobs because AI Apply does not interface with a remote system that issues remote IDs. | [optional] |
+| **job_codes** | **String** | Filter by a comma-separated list of job codes such as `ACME_12,ACME_14`. | [optional] |
+| **career_site_ids** | **String** | Filter by a comma-separated list of career site IDs such as `A8m9k9RhjNokMfRTWtpQ99VtH,rCbkAA3pvcKjsFYwEeXtCQkc`. | [optional] |
+
+### Return type
+
+[**GetAiApplyUnifiedApiJobsPositiveResponse**](GetAiApplyUnifiedApiJobsPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## post_ai_apply_apply
+
+> post_ai_apply_apply(opts)
+
+Submit job application
+
+Submit a job application using a submission token. The application will be queued and processed asynchronously. Returns ID to track progress and match with webhooks.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::AIApplyApi.new
+opts = {
+ post_ai_apply_apply_request_body: Kombo::PostAiApplyApplyRequestBody.new({submission_token: 'submission_token_example', candidate_email: 'candidate_email_example', screening_question_answers: [Kombo::PostAiApplyApplyRequestBodyScreeningQuestionAnswersInner.new({question_id: 'question_id_example', answer: nil})]}) # PostAiApplyApplyRequestBody | POST /ai-apply/apply Request body
+}
+
+begin
+ # Submit job application
+ result = api_instance.post_ai_apply_apply(opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling AIApplyApi->post_ai_apply_apply: #{e}"
+end
+```
+
+#### Using the post_ai_apply_apply_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_ai_apply_apply_with_http_info(opts)
+
+```ruby
+begin
+ # Submit job application
+ data, status_code, headers = api_instance.post_ai_apply_apply_with_http_info(opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling AIApplyApi->post_ai_apply_apply_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **post_ai_apply_apply_request_body** | [**PostAiApplyApplyRequestBody**](PostAiApplyApplyRequestBody.md) | POST /ai-apply/apply Request body | [optional] |
+
+### Return type
+
+[**PostAiApplyApplyPositiveResponse**](PostAiApplyApplyPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_ai_apply_career_sites
+
+> post_ai_apply_career_sites(opts)
+
+Create a career site
+
+Create a career site entry. Career sites are required to be specified when parsing job postings, grouping them under a single entity.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::AIApplyApi.new
+opts = {
+ post_ai_apply_career_sites_request_body: Kombo::PostAiApplyCareerSitesRequestBody.new({label: 'label_example'}) # PostAiApplyCareerSitesRequestBody | POST /ai-apply/career-sites Request body
+}
+
+begin
+ # Create a career site
+ result = api_instance.post_ai_apply_career_sites(opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling AIApplyApi->post_ai_apply_career_sites: #{e}"
+end
+```
+
+#### Using the post_ai_apply_career_sites_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_ai_apply_career_sites_with_http_info(opts)
+
+```ruby
+begin
+ # Create a career site
+ data, status_code, headers = api_instance.post_ai_apply_career_sites_with_http_info(opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling AIApplyApi->post_ai_apply_career_sites_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **post_ai_apply_career_sites_request_body** | [**PostAiApplyCareerSitesRequestBody**](PostAiApplyCareerSitesRequestBody.md) | POST /ai-apply/career-sites Request body | [optional] |
+
+### Return type
+
+[**PostAiApplyCareerSitesPositiveResponse**](PostAiApplyCareerSitesPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_ai_apply_postings
+
+> post_ai_apply_postings(opts)
+
+Parse a job posting
+
+Submit a job posting URL to be parsed asynchronously. Returns ID to track progress.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::AIApplyApi.new
+opts = {
+ post_ai_apply_postings_request_body: Kombo::PostAiApplyPostingsRequestBody.new({career_site_id: 'career_site_id_example', url: 'url_example'}) # PostAiApplyPostingsRequestBody | POST /ai-apply/postings Request body
+}
+
+begin
+ # Parse a job posting
+ result = api_instance.post_ai_apply_postings(opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling AIApplyApi->post_ai_apply_postings: #{e}"
+end
+```
+
+#### Using the post_ai_apply_postings_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_ai_apply_postings_with_http_info(opts)
+
+```ruby
+begin
+ # Parse a job posting
+ data, status_code, headers = api_instance.post_ai_apply_postings_with_http_info(opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling AIApplyApi->post_ai_apply_postings_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **post_ai_apply_postings_request_body** | [**PostAiApplyPostingsRequestBody**](PostAiApplyPostingsRequestBody.md) | POST /ai-apply/postings Request body | [optional] |
+
+### Return type
+
+[**PostAiApplyPostingsPositiveResponse**](PostAiApplyPostingsPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_ai_apply_postings_posting_id_inquire
+
+> post_ai_apply_postings_posting_id_inquire(posting_id, opts)
+
+Inquire about a job posting and the application f…
+
+Receive the application form (screening questions) for a job posting and a submission token. This endpoint must be called before submitting an application to ensure you have the latest questions and a valid submission token. The submission token is valid for 12 hours and prevents duplicate submissions. The application form may contain conditional questions that are only shown based on answers to previous questions (check the display_when field).
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::AIApplyApi.new
+posting_id = '9QGNv3B98kL3hyELE1qsZ86s' # String | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing.
+opts = {
+ body: { ... } # Object | POST /ai-apply/postings/:posting_id/inquire Request body
+}
+
+begin
+ # Inquire about a job posting and the application f…
+ result = api_instance.post_ai_apply_postings_posting_id_inquire(posting_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling AIApplyApi->post_ai_apply_postings_posting_id_inquire: #{e}"
+end
+```
+
+#### Using the post_ai_apply_postings_posting_id_inquire_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_ai_apply_postings_posting_id_inquire_with_http_info(posting_id, opts)
+
+```ruby
+begin
+ # Inquire about a job posting and the application f…
+ data, status_code, headers = api_instance.post_ai_apply_postings_posting_id_inquire_with_http_info(posting_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling AIApplyApi->post_ai_apply_postings_posting_id_inquire_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **posting_id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **body** | **Object** | POST /ai-apply/postings/:posting_id/inquire Request body | [optional] |
+
+### Return type
+
+[**PostAiApplyPostingsPostingIdInquirePositiveResponse**](PostAiApplyPostingsPostingIdInquirePositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_ai_apply_postings_posting_id_parse
+
+> post_ai_apply_postings_posting_id_parse(posting_id, opts)
+
+Re-parse an existing job posting
+
+Trigger re-parsing of an already parsed job posting.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::AIApplyApi.new
+posting_id = '9QGNv3B98kL3hyELE1qsZ86s' # String | The ID of the job posting to parse a new revision for
+opts = {
+ body: { ... } # Object | POST /ai-apply/postings/:posting_id/parse Request body
+}
+
+begin
+ # Re-parse an existing job posting
+ result = api_instance.post_ai_apply_postings_posting_id_parse(posting_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling AIApplyApi->post_ai_apply_postings_posting_id_parse: #{e}"
+end
+```
+
+#### Using the post_ai_apply_postings_posting_id_parse_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_ai_apply_postings_posting_id_parse_with_http_info(posting_id, opts)
+
+```ruby
+begin
+ # Re-parse an existing job posting
+ data, status_code, headers = api_instance.post_ai_apply_postings_posting_id_parse_with_http_info(posting_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling AIApplyApi->post_ai_apply_postings_posting_id_parse_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **posting_id** | **String** | The ID of the job posting to parse a new revision for | |
+| **body** | **Object** | POST /ai-apply/postings/:posting_id/parse Request body | [optional] |
+
+### Return type
+
+[**PostAiApplyPostingsPostingIdParsePositiveResponse**](PostAiApplyPostingsPostingIdParsePositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_ai_apply_unified_api_jobs_job_id_applications
+
+> post_ai_apply_unified_api_jobs_job_id_applications(job_id, opts)
+
+Create application
+
+Create applications in a backwards compatible way as you would [via Kombo's unified API](https://docs.kombo.dev/ats/v1/post-jobs-job-id-applications). This is not the recommended way to create applications with AI Apply.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::AIApplyApi.new
+job_id = 'BDpgnpZ148nrGh4mYHNxJBgx' # String | The Kombo ID or Remote ID of the Job this candidate should apply for. If you want to use the ID of the integrated system (remote_id) you need to prefix the id with \"remote:\". You can use the remote ID if you do not want to sync jobs.
+opts = {
+ post_ai_apply_unified_api_jobs_job_id_applications_request_body: Kombo::PostAiApplyUnifiedApiJobsJobIdApplicationsRequestBody.new({candidate: Kombo::PostAtsCandidatesRequestBodyCandidate.new({first_name: 'first_name_example', last_name: 'last_name_example', email_address: 'email_address_example'})}) # PostAiApplyUnifiedApiJobsJobIdApplicationsRequestBody | POST /ai-apply/unified-api/jobs/:job_id/applications Request body
+}
+
+begin
+ # Create application
+ result = api_instance.post_ai_apply_unified_api_jobs_job_id_applications(job_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling AIApplyApi->post_ai_apply_unified_api_jobs_job_id_applications: #{e}"
+end
+```
+
+#### Using the post_ai_apply_unified_api_jobs_job_id_applications_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_ai_apply_unified_api_jobs_job_id_applications_with_http_info(job_id, opts)
+
+```ruby
+begin
+ # Create application
+ data, status_code, headers = api_instance.post_ai_apply_unified_api_jobs_job_id_applications_with_http_info(job_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling AIApplyApi->post_ai_apply_unified_api_jobs_job_id_applications_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **job_id** | **String** | The Kombo ID or Remote ID of the Job this candidate should apply for. If you want to use the ID of the integrated system (remote_id) you need to prefix the id with \"remote:\". You can use the remote ID if you do not want to sync jobs. | |
+| **post_ai_apply_unified_api_jobs_job_id_applications_request_body** | [**PostAiApplyUnifiedApiJobsJobIdApplicationsRequestBody**](PostAiApplyUnifiedApiJobsJobIdApplicationsRequestBody.md) | POST /ai-apply/unified-api/jobs/:job_id/applications Request body | [optional] |
+
+### Return type
+
+[**PostAiApplyUnifiedApiJobsJobIdApplicationsPositiveResponse**](PostAiApplyUnifiedApiJobsJobIdApplicationsPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
diff --git a/docs/AiApplyApplicationStatusUpdatedWebhookPayload.md b/docs/AiApplyApplicationStatusUpdatedWebhookPayload.md
new file mode 100644
index 0000000..6aa1861
--- /dev/null
+++ b/docs/AiApplyApplicationStatusUpdatedWebhookPayload.md
@@ -0,0 +1,22 @@
+# Kombo::AiApplyApplicationStatusUpdatedWebhookPayload
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | Unique identifier for this webhook event | |
+| **type** | **String** | Type of the webhook event | |
+| **data** | [**AiApplyApplicationStatusUpdatedWebhookPayloadData**](AiApplyApplicationStatusUpdatedWebhookPayloadData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::AiApplyApplicationStatusUpdatedWebhookPayload.new(
+ id: null,
+ type: null,
+ data: null
+)
+```
+
diff --git a/docs/AiApplyApplicationStatusUpdatedWebhookPayloadData.md b/docs/AiApplyApplicationStatusUpdatedWebhookPayloadData.md
new file mode 100644
index 0000000..c71bd52
--- /dev/null
+++ b/docs/AiApplyApplicationStatusUpdatedWebhookPayloadData.md
@@ -0,0 +1,26 @@
+# Kombo::AiApplyApplicationStatusUpdatedWebhookPayloadData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **job_posting_id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **status** | **String** | | |
+| **created_at** | **Time** | | |
+| **updated_at** | **Time** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::AiApplyApplicationStatusUpdatedWebhookPayloadData.new(
+ id: null,
+ job_posting_id: null,
+ status: null,
+ created_at: null,
+ updated_at: null
+)
+```
+
diff --git a/docs/AiApplyJobPostingStatusUpdatedWebhookPayload.md b/docs/AiApplyJobPostingStatusUpdatedWebhookPayload.md
new file mode 100644
index 0000000..e07bf86
--- /dev/null
+++ b/docs/AiApplyJobPostingStatusUpdatedWebhookPayload.md
@@ -0,0 +1,22 @@
+# Kombo::AiApplyJobPostingStatusUpdatedWebhookPayload
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | Unique identifier for this webhook event | |
+| **type** | **String** | Type of the webhook event | |
+| **data** | [**AiApplyJobPostingStatusUpdatedWebhookPayloadData**](AiApplyJobPostingStatusUpdatedWebhookPayloadData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::AiApplyJobPostingStatusUpdatedWebhookPayload.new(
+ id: null,
+ type: null,
+ data: null
+)
+```
+
diff --git a/docs/AiApplyJobPostingStatusUpdatedWebhookPayloadData.md b/docs/AiApplyJobPostingStatusUpdatedWebhookPayloadData.md
new file mode 100644
index 0000000..d8a07e4
--- /dev/null
+++ b/docs/AiApplyJobPostingStatusUpdatedWebhookPayloadData.md
@@ -0,0 +1,34 @@
+# Kombo::AiApplyJobPostingStatusUpdatedWebhookPayloadData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **career_site** | [**AiApplyJobPostingStatusUpdatedWebhookPayloadDataCareerSite**](AiApplyJobPostingStatusUpdatedWebhookPayloadDataCareerSite.md) | | |
+| **url** | **String** | | |
+| **job_code** | **String** | | |
+| **created_at** | **Time** | | |
+| **updated_at** | **Time** | | |
+| **archived_at** | **Time** | The date and time the job posting was archived. You can only send applications if the job posting is not archived. | |
+| **archived_reason** | **String** | | |
+| **availability** | **String** | The status of the job posting. You can only send applications if the job posting is \"APPLYABLE\". | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::AiApplyJobPostingStatusUpdatedWebhookPayloadData.new(
+ id: null,
+ career_site: null,
+ url: null,
+ job_code: null,
+ created_at: null,
+ updated_at: null,
+ archived_at: null,
+ archived_reason: null,
+ availability: null
+)
+```
+
diff --git a/docs/AiApplyJobPostingStatusUpdatedWebhookPayloadDataCareerSite.md b/docs/AiApplyJobPostingStatusUpdatedWebhookPayloadDataCareerSite.md
new file mode 100644
index 0000000..1b8dd35
--- /dev/null
+++ b/docs/AiApplyJobPostingStatusUpdatedWebhookPayloadDataCareerSite.md
@@ -0,0 +1,20 @@
+# Kombo::AiApplyJobPostingStatusUpdatedWebhookPayloadDataCareerSite
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **label** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::AiApplyJobPostingStatusUpdatedWebhookPayloadDataCareerSite.new(
+ id: null,
+ label: null
+)
+```
+
diff --git a/docs/AssessmentOrderReceivedWebhookPayload.md b/docs/AssessmentOrderReceivedWebhookPayload.md
new file mode 100644
index 0000000..1cd2230
--- /dev/null
+++ b/docs/AssessmentOrderReceivedWebhookPayload.md
@@ -0,0 +1,22 @@
+# Kombo::AssessmentOrderReceivedWebhookPayload
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | Unique identifier for this webhook event | |
+| **type** | **String** | Type of the webhook event | |
+| **data** | [**AssessmentOrderReceivedWebhookPayloadData**](AssessmentOrderReceivedWebhookPayloadData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::AssessmentOrderReceivedWebhookPayload.new(
+ id: null,
+ type: null,
+ data: null
+)
+```
+
diff --git a/docs/AssessmentOrderReceivedWebhookPayloadData.md b/docs/AssessmentOrderReceivedWebhookPayloadData.md
new file mode 100644
index 0000000..fea34a5
--- /dev/null
+++ b/docs/AssessmentOrderReceivedWebhookPayloadData.md
@@ -0,0 +1,30 @@
+# Kombo::AssessmentOrderReceivedWebhookPayloadData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The unique identifier of the assessment order. | |
+| **package_id** | **String** | The identifier of the assessment package. | |
+| **status** | **String** | The current status of the assessment order. | |
+| **integration_id** | **String** | The unique identifier of the integration. | |
+| **candidate** | [**AssessmentOrderReceivedWebhookPayloadDataCandidate**](AssessmentOrderReceivedWebhookPayloadDataCandidate.md) | | |
+| **application** | [**AssessmentOrderReceivedWebhookPayloadDataApplication**](AssessmentOrderReceivedWebhookPayloadDataApplication.md) | | |
+| **job** | [**AssessmentOrderReceivedWebhookPayloadDataJob**](AssessmentOrderReceivedWebhookPayloadDataJob.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::AssessmentOrderReceivedWebhookPayloadData.new(
+ id: null,
+ package_id: null,
+ status: null,
+ integration_id: null,
+ candidate: null,
+ application: null,
+ job: null
+)
+```
+
diff --git a/docs/AssessmentOrderReceivedWebhookPayloadDataApplication.md b/docs/AssessmentOrderReceivedWebhookPayloadDataApplication.md
new file mode 100644
index 0000000..57fb469
--- /dev/null
+++ b/docs/AssessmentOrderReceivedWebhookPayloadDataApplication.md
@@ -0,0 +1,18 @@
+# Kombo::AssessmentOrderReceivedWebhookPayloadDataApplication
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **remote_id** | **String** | The application's identifier in the integrated system. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::AssessmentOrderReceivedWebhookPayloadDataApplication.new(
+ remote_id: null
+)
+```
+
diff --git a/docs/AssessmentOrderReceivedWebhookPayloadDataCandidate.md b/docs/AssessmentOrderReceivedWebhookPayloadDataCandidate.md
new file mode 100644
index 0000000..393ecdb
--- /dev/null
+++ b/docs/AssessmentOrderReceivedWebhookPayloadDataCandidate.md
@@ -0,0 +1,26 @@
+# Kombo::AssessmentOrderReceivedWebhookPayloadDataCandidate
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **email** | **String** | The candidate's email address. | |
+| **first_name** | **String** | The candidate's first name. | [optional] |
+| **last_name** | **String** | The candidate's last name. | [optional] |
+| **phone** | **String** | The candidate's phone number. | [optional] |
+| **remote_id** | **String** | The candidate's identifier in the integrated system. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::AssessmentOrderReceivedWebhookPayloadDataCandidate.new(
+ email: null,
+ first_name: null,
+ last_name: null,
+ phone: null,
+ remote_id: null
+)
+```
+
diff --git a/docs/AssessmentOrderReceivedWebhookPayloadDataJob.md b/docs/AssessmentOrderReceivedWebhookPayloadDataJob.md
new file mode 100644
index 0000000..91da6f6
--- /dev/null
+++ b/docs/AssessmentOrderReceivedWebhookPayloadDataJob.md
@@ -0,0 +1,24 @@
+# Kombo::AssessmentOrderReceivedWebhookPayloadDataJob
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **remote_id** | **String** | The job's identifier in the integrated system. | [optional] |
+| **name** | **String** | The job title. | [optional] |
+| **location** | [**AssessmentOrderReceivedWebhookPayloadDataJobLocation**](AssessmentOrderReceivedWebhookPayloadDataJobLocation.md) | | [optional] |
+| **hiring_team** | [**Array<AssessmentOrderReceivedWebhookPayloadDataJobHiringTeamInner>**](AssessmentOrderReceivedWebhookPayloadDataJobHiringTeamInner.md) | The hiring team allows you to sync users into your system who can access the job and its applications. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::AssessmentOrderReceivedWebhookPayloadDataJob.new(
+ remote_id: null,
+ name: null,
+ location: null,
+ hiring_team: null
+)
+```
+
diff --git a/docs/AssessmentOrderReceivedWebhookPayloadDataJobHiringTeamInner.md b/docs/AssessmentOrderReceivedWebhookPayloadDataJobHiringTeamInner.md
new file mode 100644
index 0000000..49f5e91
--- /dev/null
+++ b/docs/AssessmentOrderReceivedWebhookPayloadDataJobHiringTeamInner.md
@@ -0,0 +1,26 @@
+# Kombo::AssessmentOrderReceivedWebhookPayloadDataJobHiringTeamInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **remote_id** | **String** | The team member's identifier in the integrated system. | |
+| **email** | **String** | The team member's email address. | |
+| **first_name** | **String** | The team member's first name. | |
+| **last_name** | **String** | The team member's last name. | |
+| **hiring_team_roles** | **Array<String>** | Array of the roles of the user for this specific job. Currently only `RECRUITER` and `HIRING_MANAGER` are mapped into our unified schema. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::AssessmentOrderReceivedWebhookPayloadDataJobHiringTeamInner.new(
+ remote_id: null,
+ email: null,
+ first_name: null,
+ last_name: null,
+ hiring_team_roles: null
+)
+```
+
diff --git a/docs/AssessmentOrderReceivedWebhookPayloadDataJobLocation.md b/docs/AssessmentOrderReceivedWebhookPayloadDataJobLocation.md
new file mode 100644
index 0000000..00b707a
--- /dev/null
+++ b/docs/AssessmentOrderReceivedWebhookPayloadDataJobLocation.md
@@ -0,0 +1,30 @@
+# Kombo::AssessmentOrderReceivedWebhookPayloadDataJobLocation
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **city** | **String** | | [optional] |
+| **country** | **String** | Contains the ISO2 country code if possible. If not, it contains the original value. | [optional] |
+| **raw** | **String** | If we have address data, this is filled with the raw address string. | [optional] |
+| **state** | **String** | | [optional] |
+| **street_1** | **String** | If we can parse the address data, this field contains the first part of the street information. | [optional] |
+| **street_2** | **String** | | [optional] |
+| **zip_code** | **String** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::AssessmentOrderReceivedWebhookPayloadDataJobLocation.new(
+ city: null,
+ country: null,
+ raw: null,
+ state: null,
+ street_1: null,
+ street_2: null,
+ zip_code: null
+)
+```
+
diff --git a/docs/ConnectionFlowFailedWebhookPayload.md b/docs/ConnectionFlowFailedWebhookPayload.md
new file mode 100644
index 0000000..a255b11
--- /dev/null
+++ b/docs/ConnectionFlowFailedWebhookPayload.md
@@ -0,0 +1,22 @@
+# Kombo::ConnectionFlowFailedWebhookPayload
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | Unique identifier for this webhook event | |
+| **type** | **String** | Type of the webhook event | |
+| **data** | [**ConnectionFlowFailedWebhookPayloadData**](ConnectionFlowFailedWebhookPayloadData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::ConnectionFlowFailedWebhookPayload.new(
+ id: null,
+ type: null,
+ data: null
+)
+```
+
diff --git a/docs/ConnectionFlowFailedWebhookPayloadData.md b/docs/ConnectionFlowFailedWebhookPayloadData.md
new file mode 100644
index 0000000..d1a55a8
--- /dev/null
+++ b/docs/ConnectionFlowFailedWebhookPayloadData.md
@@ -0,0 +1,24 @@
+# Kombo::ConnectionFlowFailedWebhookPayloadData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **integration_tool** | **String** | The name of the integrated tool (e.g., \"personio\", \"greenhouse\"). | |
+| **integration_category** | **String** | The category of the integration (HRIS, ATS, or ASSESSMENT). | |
+| **end_user** | [**ConnectionFlowFailedWebhookPayloadDataEndUser**](ConnectionFlowFailedWebhookPayloadDataEndUser.md) | | |
+| **log_url** | **String** | URL to view detailed logs for the operation. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::ConnectionFlowFailedWebhookPayloadData.new(
+ integration_tool: null,
+ integration_category: null,
+ end_user: null,
+ log_url: null
+)
+```
+
diff --git a/docs/ConnectionFlowFailedWebhookPayloadDataEndUser.md b/docs/ConnectionFlowFailedWebhookPayloadDataEndUser.md
new file mode 100644
index 0000000..f5c2e7e
--- /dev/null
+++ b/docs/ConnectionFlowFailedWebhookPayloadDataEndUser.md
@@ -0,0 +1,22 @@
+# Kombo::ConnectionFlowFailedWebhookPayloadDataEndUser
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **organization_name** | **String** | The name of the organization that owns the integration. | |
+| **creator_email** | **String** | The email address of the user who created the integration. | |
+| **origin_id** | **String** | The unique identifier of the organization in the integrated system. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::ConnectionFlowFailedWebhookPayloadDataEndUser.new(
+ organization_name: null,
+ creator_email: null,
+ origin_id: null
+)
+```
+
diff --git a/docs/CustomEndpointsApi.md b/docs/CustomEndpointsApi.md
new file mode 100644
index 0000000..3a73443
--- /dev/null
+++ b/docs/CustomEndpointsApi.md
@@ -0,0 +1,1177 @@
+# Kombo::CustomEndpointsApi
+
+All URIs are relative to *https://api.kombo.dev/v1*
+
+| Method | HTTP request | Description |
+| ------ | ------------ | ----------- |
+| [**get_custom_datev_available_documents**](CustomEndpointsApi.md#get_custom_datev_available_documents) | **GET** /custom/datev/available-documents | Retrieve available documents |
+| [**get_custom_datev_check_document_permission**](CustomEndpointsApi.md#get_custom_datev_check_document_permission) | **GET** /custom/datev/check-document-permission | Verify service is enabled |
+| [**get_custom_datev_check_eau_permission**](CustomEndpointsApi.md#get_custom_datev_check_eau_permission) | **GET** /custom/datev/check-eau-permission | Verify service is enabled |
+| [**get_custom_datev_check_write_permission**](CustomEndpointsApi.md#get_custom_datev_check_write_permission) | **GET** /custom/datev/check-write-permission | Verify service is enabled |
+| [**get_custom_datev_data_pushes**](CustomEndpointsApi.md#get_custom_datev_data_pushes) | **GET** /custom/datev/data-pushes | Get DATEV data pushes |
+| [**get_custom_datev_eau_requests_eau_id**](CustomEndpointsApi.md#get_custom_datev_eau_requests_eau_id) | **GET** /custom/datev/eau-requests/{eau_id} | Query the status of the eAU request |
+| [**get_custom_datev_system_information**](CustomEndpointsApi.md#get_custom_datev_system_information) | **GET** /custom/datev/system-information | Get DATEV system information |
+| [**post_custom_datev_download_document**](CustomEndpointsApi.md#post_custom_datev_download_document) | **POST** /custom/datev/download-document | Download Payroll Document |
+| [**post_custom_datev_employees_employee_id_download_document**](CustomEndpointsApi.md#post_custom_datev_employees_employee_id_download_document) | **POST** /custom/datev/employees/{employee_id}/download-document | Download Payroll Document |
+| [**post_custom_datev_employees_employee_id_eau_requests**](CustomEndpointsApi.md#post_custom_datev_employees_employee_id_eau_requests) | **POST** /custom/datev/employees/{employee_id}/eau-requests | Create eAU Request |
+| [**post_custom_datev_passthrough**](CustomEndpointsApi.md#post_custom_datev_passthrough) | **POST** /custom/datev/passthrough | Write raw DATEV ASCII file |
+| [**post_custom_datev_push_data_general**](CustomEndpointsApi.md#post_custom_datev_push_data_general) | **POST** /custom/datev/push-data/general | Push general data to DATEV |
+| [**post_custom_datev_push_data_payroll**](CustomEndpointsApi.md#post_custom_datev_push_data_payroll) | **POST** /custom/datev/push-data/payroll | Push payroll data to DATEV |
+| [**post_custom_silae_employees_employee_id_payroll_supplements**](CustomEndpointsApi.md#post_custom_silae_employees_employee_id_payroll_supplements) | **POST** /custom/silae/employees/{employee_id}/payroll-supplements | Write Payroll Supplement |
+| [**put_custom_datev_employees_employee_id_compensations**](CustomEndpointsApi.md#put_custom_datev_employees_employee_id_compensations) | **PUT** /custom/datev/employees/{employee_id}/compensations | Set DATEV compensations |
+| [**put_custom_datev_employees_employee_id_prepare_payroll**](CustomEndpointsApi.md#put_custom_datev_employees_employee_id_prepare_payroll) | **PUT** /custom/datev/employees/{employee_id}/prepare-payroll | Prepare DATEV Payroll |
+
+
+## get_custom_datev_available_documents
+
+> get_custom_datev_available_documents(x_integration_id, period)
+
+Retrieve available documents
+
+Use this endpoint to get all available documents for a specific period.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::CustomEndpointsApi.new
+x_integration_id = 'datev:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+period = 'period_example' # String | Provide the period in the format YYYY-MM-DD for which to check for available documents.
+
+begin
+ # Retrieve available documents
+ result = api_instance.get_custom_datev_available_documents(x_integration_id, period)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->get_custom_datev_available_documents: #{e}"
+end
+```
+
+#### Using the get_custom_datev_available_documents_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_custom_datev_available_documents_with_http_info(x_integration_id, period)
+
+```ruby
+begin
+ # Retrieve available documents
+ data, status_code, headers = api_instance.get_custom_datev_available_documents_with_http_info(x_integration_id, period)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->get_custom_datev_available_documents_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **period** | **String** | Provide the period in the format YYYY-MM-DD for which to check for available documents. | |
+
+### Return type
+
+[**GetCustomDatevAvailableDocumentsPositiveResponse**](GetCustomDatevAvailableDocumentsPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_custom_datev_check_document_permission
+
+> get_custom_datev_check_document_permission(x_integration_id)
+
+Verify service is enabled
+
+This endpoint returns the available document types for this DATEV integration.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::CustomEndpointsApi.new
+x_integration_id = 'datev:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+
+begin
+ # Verify service is enabled
+ result = api_instance.get_custom_datev_check_document_permission(x_integration_id)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->get_custom_datev_check_document_permission: #{e}"
+end
+```
+
+#### Using the get_custom_datev_check_document_permission_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_custom_datev_check_document_permission_with_http_info(x_integration_id)
+
+```ruby
+begin
+ # Verify service is enabled
+ data, status_code, headers = api_instance.get_custom_datev_check_document_permission_with_http_info(x_integration_id)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->get_custom_datev_check_document_permission_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+
+### Return type
+
+[**GetCustomDatevCheckDocumentPermissionPositiveResponse**](GetCustomDatevCheckDocumentPermissionPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_custom_datev_check_eau_permission
+
+> get_custom_datev_check_eau_permission(x_integration_id)
+
+Verify service is enabled
+
+This endpoint validates that this DATEV integration is ready to use the eAU feature.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::CustomEndpointsApi.new
+x_integration_id = 'datev:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+
+begin
+ # Verify service is enabled
+ result = api_instance.get_custom_datev_check_eau_permission(x_integration_id)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->get_custom_datev_check_eau_permission: #{e}"
+end
+```
+
+#### Using the get_custom_datev_check_eau_permission_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_custom_datev_check_eau_permission_with_http_info(x_integration_id)
+
+```ruby
+begin
+ # Verify service is enabled
+ data, status_code, headers = api_instance.get_custom_datev_check_eau_permission_with_http_info(x_integration_id)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->get_custom_datev_check_eau_permission_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+
+### Return type
+
+[**GetCustomDatevCheckEauPermissionPositiveResponse**](GetCustomDatevCheckEauPermissionPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_custom_datev_check_write_permission
+
+> get_custom_datev_check_write_permission(x_integration_id)
+
+Verify service is enabled
+
+This endpoint returns whether you can write to this DATEV integration.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::CustomEndpointsApi.new
+x_integration_id = 'datev:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+
+begin
+ # Verify service is enabled
+ result = api_instance.get_custom_datev_check_write_permission(x_integration_id)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->get_custom_datev_check_write_permission: #{e}"
+end
+```
+
+#### Using the get_custom_datev_check_write_permission_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_custom_datev_check_write_permission_with_http_info(x_integration_id)
+
+```ruby
+begin
+ # Verify service is enabled
+ data, status_code, headers = api_instance.get_custom_datev_check_write_permission_with_http_info(x_integration_id)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->get_custom_datev_check_write_permission_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+
+### Return type
+
+[**GetCustomDatevCheckWritePermissionPositiveResponse**](GetCustomDatevCheckWritePermissionPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_custom_datev_data_pushes
+
+> get_custom_datev_data_pushes(x_integration_id)
+
+Get DATEV data pushes
+
+Returns all \"DATEV Data Pushes\" of the last 2 months. You can use this endpoint to give your users transparency about submitted \"ASCII-Files\" and their status. Each data push can contain multiple files that were submitted.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::CustomEndpointsApi.new
+x_integration_id = 'datev:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+
+begin
+ # Get DATEV data pushes
+ result = api_instance.get_custom_datev_data_pushes(x_integration_id)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->get_custom_datev_data_pushes: #{e}"
+end
+```
+
+#### Using the get_custom_datev_data_pushes_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_custom_datev_data_pushes_with_http_info(x_integration_id)
+
+```ruby
+begin
+ # Get DATEV data pushes
+ data, status_code, headers = api_instance.get_custom_datev_data_pushes_with_http_info(x_integration_id)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->get_custom_datev_data_pushes_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+
+### Return type
+
+[**GetCustomDatevDataPushesPositiveResponse**](GetCustomDatevDataPushesPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_custom_datev_eau_requests_eau_id
+
+> get_custom_datev_eau_requests_eau_id(x_integration_id, eau_id)
+
+Query the status of the eAU request
+
+This endpoint queries the status of the eAU request for the given DATEV integration.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::CustomEndpointsApi.new
+x_integration_id = 'datev:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+eau_id = 'eau_id_example' # String | GET /custom/datev/eau-requests/:eau_id Parameter
+
+begin
+ # Query the status of the eAU request
+ result = api_instance.get_custom_datev_eau_requests_eau_id(x_integration_id, eau_id)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->get_custom_datev_eau_requests_eau_id: #{e}"
+end
+```
+
+#### Using the get_custom_datev_eau_requests_eau_id_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_custom_datev_eau_requests_eau_id_with_http_info(x_integration_id, eau_id)
+
+```ruby
+begin
+ # Query the status of the eAU request
+ data, status_code, headers = api_instance.get_custom_datev_eau_requests_eau_id_with_http_info(x_integration_id, eau_id)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->get_custom_datev_eau_requests_eau_id_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **eau_id** | **String** | GET /custom/datev/eau-requests/:eau_id Parameter | |
+
+### Return type
+
+[**GetCustomDatevEauRequestsEauIdPositiveResponse**](GetCustomDatevEauRequestsEauIdPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_custom_datev_system_information
+
+> get_custom_datev_system_information(x_integration_id)
+
+Get DATEV system information
+
+This endpoint returns BeraterNr (consultant_number), MandantenNr (client_number) and the payroll system (LODAS or Lohn und Gehalt). Useful to generate a DATEV ASCII file for the passthrough endpoint.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::CustomEndpointsApi.new
+x_integration_id = 'datev:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+
+begin
+ # Get DATEV system information
+ result = api_instance.get_custom_datev_system_information(x_integration_id)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->get_custom_datev_system_information: #{e}"
+end
+```
+
+#### Using the get_custom_datev_system_information_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_custom_datev_system_information_with_http_info(x_integration_id)
+
+```ruby
+begin
+ # Get DATEV system information
+ data, status_code, headers = api_instance.get_custom_datev_system_information_with_http_info(x_integration_id)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->get_custom_datev_system_information_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+
+### Return type
+
+[**GetCustomDatevSystemInformationPositiveResponse**](GetCustomDatevSystemInformationPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## post_custom_datev_download_document
+
+> post_custom_datev_download_document(x_integration_id, opts)
+
+Download Payroll Document
+
+Download a document from DATEV This endpoint requires the permission **Manage documents** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"accounting_month\": \"2001-12-01\", \"document_type\": \"LOJE\", \"employee_id\": null } ```
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::CustomEndpointsApi.new
+x_integration_id = 'datev:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+opts = {
+ post_custom_datev_download_document_request_body: Kombo::PostCustomDatevDownloadDocumentRequestBody.new({accounting_month: Time.now, document_type: 'AANB', employee_id: 'employee_id_example'}) # PostCustomDatevDownloadDocumentRequestBody | POST /custom/datev/download-document Request body
+}
+
+begin
+ # Download Payroll Document
+ result = api_instance.post_custom_datev_download_document(x_integration_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->post_custom_datev_download_document: #{e}"
+end
+```
+
+#### Using the post_custom_datev_download_document_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_custom_datev_download_document_with_http_info(x_integration_id, opts)
+
+```ruby
+begin
+ # Download Payroll Document
+ data, status_code, headers = api_instance.post_custom_datev_download_document_with_http_info(x_integration_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->post_custom_datev_download_document_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **post_custom_datev_download_document_request_body** | [**PostCustomDatevDownloadDocumentRequestBody**](PostCustomDatevDownloadDocumentRequestBody.md) | POST /custom/datev/download-document Request body | [optional] |
+
+### Return type
+
+[**PostCustomDatevDownloadDocumentPositiveResponse**](PostCustomDatevDownloadDocumentPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_custom_datev_employees_employee_id_download_document
+
+> post_custom_datev_employees_employee_id_download_document(x_integration_id, employee_id, opts)
+
+Download Payroll Document
+
+Download a document from DATEV This endpoint requires the permission **Manage documents** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"accounting_month\": \"2001-12-01\", \"document_type\": \"LOJE\" } ```
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::CustomEndpointsApi.new
+x_integration_id = 'datev:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+employee_id = 'employee_id_example' # String | POST /custom/datev/employees/:employee_id/download-document Parameter
+opts = {
+ post_custom_datev_employees_employee_id_download_document_request_body: Kombo::PostCustomDatevEmployeesEmployeeIdDownloadDocumentRequestBody.new({accounting_month: Time.now, document_type: 'AANB'}) # PostCustomDatevEmployeesEmployeeIdDownloadDocumentRequestBody | POST /custom/datev/employees/:employee_id/download-document Request body
+}
+
+begin
+ # Download Payroll Document
+ result = api_instance.post_custom_datev_employees_employee_id_download_document(x_integration_id, employee_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->post_custom_datev_employees_employee_id_download_document: #{e}"
+end
+```
+
+#### Using the post_custom_datev_employees_employee_id_download_document_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_custom_datev_employees_employee_id_download_document_with_http_info(x_integration_id, employee_id, opts)
+
+```ruby
+begin
+ # Download Payroll Document
+ data, status_code, headers = api_instance.post_custom_datev_employees_employee_id_download_document_with_http_info(x_integration_id, employee_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->post_custom_datev_employees_employee_id_download_document_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **employee_id** | **String** | POST /custom/datev/employees/:employee_id/download-document Parameter | |
+| **post_custom_datev_employees_employee_id_download_document_request_body** | [**PostCustomDatevEmployeesEmployeeIdDownloadDocumentRequestBody**](PostCustomDatevEmployeesEmployeeIdDownloadDocumentRequestBody.md) | POST /custom/datev/employees/:employee_id/download-document Request body | [optional] |
+
+### Return type
+
+[**PostCustomDatevEmployeesEmployeeIdDownloadDocumentPositiveResponse**](PostCustomDatevEmployeesEmployeeIdDownloadDocumentPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_custom_datev_employees_employee_id_eau_requests
+
+> post_custom_datev_employees_employee_id_eau_requests(x_integration_id, employee_id, opts)
+
+Create eAU Request
+
+Create a request for an electronic certificate of incapacity for work (eAU). This endpoint requires the permission **Manage eAU** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"start_work_incapacity\": \"2022-01-01\" } ```
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::CustomEndpointsApi.new
+x_integration_id = 'datev:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+employee_id = 'remote:12312' # String | ID of the employee that should be updated. You can use their Kombo `id` or their ID in the remote system by prefixing it with `remote:` (e.g., `remote:12312`)
+opts = {
+ post_custom_datev_employees_employee_id_eau_requests_request_body: Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBody.new({start_work_incapacity: 'start_work_incapacity_example'}) # PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBody | POST /custom/datev/employees/:employee_id/eau-requests Request body
+}
+
+begin
+ # Create eAU Request
+ result = api_instance.post_custom_datev_employees_employee_id_eau_requests(x_integration_id, employee_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->post_custom_datev_employees_employee_id_eau_requests: #{e}"
+end
+```
+
+#### Using the post_custom_datev_employees_employee_id_eau_requests_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_custom_datev_employees_employee_id_eau_requests_with_http_info(x_integration_id, employee_id, opts)
+
+```ruby
+begin
+ # Create eAU Request
+ data, status_code, headers = api_instance.post_custom_datev_employees_employee_id_eau_requests_with_http_info(x_integration_id, employee_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->post_custom_datev_employees_employee_id_eau_requests_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **employee_id** | **String** | ID of the employee that should be updated. You can use their Kombo `id` or their ID in the remote system by prefixing it with `remote:` (e.g., `remote:12312`) | |
+| **post_custom_datev_employees_employee_id_eau_requests_request_body** | [**PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBody**](PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBody.md) | POST /custom/datev/employees/:employee_id/eau-requests Request body | [optional] |
+
+### Return type
+
+[**PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponse**](PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_custom_datev_passthrough
+
+> post_custom_datev_passthrough(x_integration_id, opts)
+
+Write raw DATEV ASCII file
+
+This action allows to send an arbitrary ASCII file directly to DATEV LODAS or Lohn und Gehalt. Kombo adds validation for the file format but not on the content. This action allows you to implement any use case that you might have with DATEV payroll ASCII imports.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::CustomEndpointsApi.new
+x_integration_id = 'datev:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+opts = {
+ post_custom_datev_passthrough_request_body: Kombo::PostCustomDatevPassthroughRequestBody.new({file_content: 'file_content_example', accounting_month: Time.now, target_system: 'LODAS', file_type: 'STAMMDATEN', file_name: 'file_name_example'}) # PostCustomDatevPassthroughRequestBody | POST /custom/datev/passthrough Request body
+}
+
+begin
+ # Write raw DATEV ASCII file
+ result = api_instance.post_custom_datev_passthrough(x_integration_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->post_custom_datev_passthrough: #{e}"
+end
+```
+
+#### Using the post_custom_datev_passthrough_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_custom_datev_passthrough_with_http_info(x_integration_id, opts)
+
+```ruby
+begin
+ # Write raw DATEV ASCII file
+ data, status_code, headers = api_instance.post_custom_datev_passthrough_with_http_info(x_integration_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->post_custom_datev_passthrough_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **post_custom_datev_passthrough_request_body** | [**PostCustomDatevPassthroughRequestBody**](PostCustomDatevPassthroughRequestBody.md) | POST /custom/datev/passthrough Request body | [optional] |
+
+### Return type
+
+[**PostCustomDatevPassthroughPositiveResponse**](PostCustomDatevPassthroughPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_custom_datev_push_data_general
+
+> post_custom_datev_push_data_general(x_integration_id, opts)
+
+Push general data to DATEV
+
+Uploads the currently relevant general data (employees, compensations, and time offs) to DATEV. This will create so called ASCII files that the accountant has to import in DATEV. You can call this endpoint to implement an on-demand sync to DATEV, for example if you want to offer your users a button to do that in your application.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::CustomEndpointsApi.new
+x_integration_id = 'datev:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+opts = {
+ body: { ... } # Object | POST /custom/datev/push-data/general Request body
+}
+
+begin
+ # Push general data to DATEV
+ result = api_instance.post_custom_datev_push_data_general(x_integration_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->post_custom_datev_push_data_general: #{e}"
+end
+```
+
+#### Using the post_custom_datev_push_data_general_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_custom_datev_push_data_general_with_http_info(x_integration_id, opts)
+
+```ruby
+begin
+ # Push general data to DATEV
+ data, status_code, headers = api_instance.post_custom_datev_push_data_general_with_http_info(x_integration_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->post_custom_datev_push_data_general_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **body** | **Object** | POST /custom/datev/push-data/general Request body | [optional] |
+
+### Return type
+
+[**PostCustomDatevPushDataGeneralPositiveResponse**](PostCustomDatevPushDataGeneralPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_custom_datev_push_data_payroll
+
+> post_custom_datev_push_data_payroll(x_integration_id, opts)
+
+Push payroll data to DATEV
+
+Uploads the currently relevant payroll data (supplements) to DATEV. This will create so called ASCII files that the accountant has to import in DATEV. After finishing the payroll preparation or after correcting payroll, you can call this.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::CustomEndpointsApi.new
+x_integration_id = 'datev:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+opts = {
+ post_custom_datev_push_data_payroll_request_body: Kombo::PostCustomDatevPushDataPayrollRequestBody.new({payroll_month: Time.now}) # PostCustomDatevPushDataPayrollRequestBody | POST /custom/datev/push-data/payroll Request body
+}
+
+begin
+ # Push payroll data to DATEV
+ result = api_instance.post_custom_datev_push_data_payroll(x_integration_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->post_custom_datev_push_data_payroll: #{e}"
+end
+```
+
+#### Using the post_custom_datev_push_data_payroll_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_custom_datev_push_data_payroll_with_http_info(x_integration_id, opts)
+
+```ruby
+begin
+ # Push payroll data to DATEV
+ data, status_code, headers = api_instance.post_custom_datev_push_data_payroll_with_http_info(x_integration_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->post_custom_datev_push_data_payroll_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **post_custom_datev_push_data_payroll_request_body** | [**PostCustomDatevPushDataPayrollRequestBody**](PostCustomDatevPushDataPayrollRequestBody.md) | POST /custom/datev/push-data/payroll Request body | [optional] |
+
+### Return type
+
+[**PostCustomDatevPushDataPayrollPositiveResponse**](PostCustomDatevPushDataPayrollPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_custom_silae_employees_employee_id_payroll_supplements
+
+> post_custom_silae_employees_employee_id_payroll_supplements(x_integration_id, employee_id, opts)
+
+Write Payroll Supplement
+
+Write a payroll supplement to Silae using the supplement code. This endpoint requires the permission **Manage payroll** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"employee_id\": \"EvLV61zdahkN4ftPJbmPCkdv\", \"supplement_code\": \"200\", \"effective_date\": \"2024-01-14\", \"element_amount\": 6 } ```
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::CustomEndpointsApi.new
+x_integration_id = 'silae:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+employee_id = 'EvLV61zdahkN4ftPJbmPCkdv' # String | ID of the employee that should be updated. You can use their Kombo `id` or their ID in the remote system by prefixing it with `remote:` (e.g., `remote:12312`)
+opts = {
+ post_custom_silae_employees_employee_id_payroll_supplements_request_body: Kombo::PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsRequestBody.new({supplement_code: 'supplement_code_example', effective_date: Time.now}) # PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsRequestBody | POST /custom/silae/employees/:employee_id/payroll-supplements Request body
+}
+
+begin
+ # Write Payroll Supplement
+ result = api_instance.post_custom_silae_employees_employee_id_payroll_supplements(x_integration_id, employee_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->post_custom_silae_employees_employee_id_payroll_supplements: #{e}"
+end
+```
+
+#### Using the post_custom_silae_employees_employee_id_payroll_supplements_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_custom_silae_employees_employee_id_payroll_supplements_with_http_info(x_integration_id, employee_id, opts)
+
+```ruby
+begin
+ # Write Payroll Supplement
+ data, status_code, headers = api_instance.post_custom_silae_employees_employee_id_payroll_supplements_with_http_info(x_integration_id, employee_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->post_custom_silae_employees_employee_id_payroll_supplements_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **employee_id** | **String** | ID of the employee that should be updated. You can use their Kombo `id` or their ID in the remote system by prefixing it with `remote:` (e.g., `remote:12312`) | |
+| **post_custom_silae_employees_employee_id_payroll_supplements_request_body** | [**PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsRequestBody**](PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsRequestBody.md) | POST /custom/silae/employees/:employee_id/payroll-supplements Request body | [optional] |
+
+### Return type
+
+[**PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsPositiveResponse**](PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## put_custom_datev_employees_employee_id_compensations
+
+> put_custom_datev_employees_employee_id_compensations(x_integration_id, employee_id, opts)
+
+Set DATEV compensations
+
+Sets the compensations for an employee on the specified effective date. Other compensations will end at the effective date. That means, if you would like to add a compensation, you also have to include the compensations that you would like to keep. This endpoint requires the permission **Manage payroll** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"employee_id\": \"3bdhemmSP1TPQDGWtRveRot9\", \"effective_date\": \"2022-12-01\", \"compensations\": [ { \"amount\": 4500, \"currency\": \"EUR\", \"period\": \"MONTH\", \"lohnart\": 200 }, { \"amount\": 30, \"currency\": \"EUR\", \"period\": \"HOUR\" } ] } ```
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::CustomEndpointsApi.new
+x_integration_id = 'datev:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+employee_id = '3bdhemmSP1TPQDGWtRveRot9' # String | ID of the employee that should be updated. You can use their Kombo `id` or their ID in the remote system by prefixing it with `remote:` (e.g., `remote:12312`)
+opts = {
+ put_custom_datev_employees_employee_id_compensations_request_body: Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsRequestBody.new({effective_date: Time.now, compensations: [Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsRequestBodyCompensationsInner.new({amount: 3.56, currency: 'EUR', period: 'HOUR'})]}) # PutCustomDatevEmployeesEmployeeIdCompensationsRequestBody | PUT /custom/datev/employees/:employee_id/compensations Request body
+}
+
+begin
+ # Set DATEV compensations
+ result = api_instance.put_custom_datev_employees_employee_id_compensations(x_integration_id, employee_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->put_custom_datev_employees_employee_id_compensations: #{e}"
+end
+```
+
+#### Using the put_custom_datev_employees_employee_id_compensations_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> put_custom_datev_employees_employee_id_compensations_with_http_info(x_integration_id, employee_id, opts)
+
+```ruby
+begin
+ # Set DATEV compensations
+ data, status_code, headers = api_instance.put_custom_datev_employees_employee_id_compensations_with_http_info(x_integration_id, employee_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->put_custom_datev_employees_employee_id_compensations_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **employee_id** | **String** | ID of the employee that should be updated. You can use their Kombo `id` or their ID in the remote system by prefixing it with `remote:` (e.g., `remote:12312`) | |
+| **put_custom_datev_employees_employee_id_compensations_request_body** | [**PutCustomDatevEmployeesEmployeeIdCompensationsRequestBody**](PutCustomDatevEmployeesEmployeeIdCompensationsRequestBody.md) | PUT /custom/datev/employees/:employee_id/compensations Request body | [optional] |
+
+### Return type
+
+[**PutCustomDatevEmployeesEmployeeIdCompensationsPositiveResponse**](PutCustomDatevEmployeesEmployeeIdCompensationsPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## put_custom_datev_employees_employee_id_prepare_payroll
+
+> put_custom_datev_employees_employee_id_prepare_payroll(x_integration_id, employee_id, opts)
+
+Prepare DATEV Payroll
+
+What DATEV requires to prepare payroll is very specific and currently, as DATEV is not providing \"read\", this is not part of the unified model. This endpoint requires the permission **Manage payroll** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"employee_id\": \"EvLV61zdahkN4ftPJbmPCkdv\", \"payroll_run\": { \"date\": \"2022-05-01\" }, \"fixed_payments\": [ { \"amount\": 560, \"lohnart\": 100 } ], \"hourly_payments\": [ { \"hours\": 14, \"lohnart\": 200 }, { \"hours\": 16, \"lohnart\": 232 } ], \"custom_lodas\": [ { \"amount\": 8, \"lohnart\": 300, \"bearbeitungsschluessel\": 4 } ] } ```
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::CustomEndpointsApi.new
+x_integration_id = 'datev:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+employee_id = 'EvLV61zdahkN4ftPJbmPCkdv' # String | ID of the employee that should be updated. You can use their Kombo `id` or their ID in the remote system by prefixing it with `remote:` (e.g., `remote:12312`)
+opts = {
+ put_custom_datev_employees_employee_id_prepare_payroll_request_body: Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody.new({payroll_run: Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyPayrollRun.new({date: Time.now}), hourly_payments: [Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyHourlyPaymentsInner.new({hours: 3.56, lohnart: 3.56})], fixed_payments: [Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyFixedPaymentsInner.new({amount: 3.56, lohnart: 3.56})]}) # PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody | PUT /custom/datev/employees/:employee_id/prepare-payroll Request body
+}
+
+begin
+ # Prepare DATEV Payroll
+ result = api_instance.put_custom_datev_employees_employee_id_prepare_payroll(x_integration_id, employee_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->put_custom_datev_employees_employee_id_prepare_payroll: #{e}"
+end
+```
+
+#### Using the put_custom_datev_employees_employee_id_prepare_payroll_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> put_custom_datev_employees_employee_id_prepare_payroll_with_http_info(x_integration_id, employee_id, opts)
+
+```ruby
+begin
+ # Prepare DATEV Payroll
+ data, status_code, headers = api_instance.put_custom_datev_employees_employee_id_prepare_payroll_with_http_info(x_integration_id, employee_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling CustomEndpointsApi->put_custom_datev_employees_employee_id_prepare_payroll_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **employee_id** | **String** | ID of the employee that should be updated. You can use their Kombo `id` or their ID in the remote system by prefixing it with `remote:` (e.g., `remote:12312`) | |
+| **put_custom_datev_employees_employee_id_prepare_payroll_request_body** | [**PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody**](PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody.md) | PUT /custom/datev/employees/:employee_id/prepare-payroll Request body | [optional] |
+
+### Return type
+
+[**PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse**](PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
diff --git a/docs/DataChangedWebhookPayload.md b/docs/DataChangedWebhookPayload.md
new file mode 100644
index 0000000..c2ea4c6
--- /dev/null
+++ b/docs/DataChangedWebhookPayload.md
@@ -0,0 +1,22 @@
+# Kombo::DataChangedWebhookPayload
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | Unique identifier for this webhook event | |
+| **type** | **String** | Type of the webhook event | |
+| **data** | [**DataChangedWebhookPayloadData**](DataChangedWebhookPayloadData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::DataChangedWebhookPayload.new(
+ id: null,
+ type: null,
+ data: null
+)
+```
+
diff --git a/docs/DataChangedWebhookPayloadData.md b/docs/DataChangedWebhookPayloadData.md
new file mode 100644
index 0000000..7a9942c
--- /dev/null
+++ b/docs/DataChangedWebhookPayloadData.md
@@ -0,0 +1,24 @@
+# Kombo::DataChangedWebhookPayloadData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **integration_id** | **String** | The unique identifier of the integration. | |
+| **integration_tool** | **String** | The name of the integrated tool (e.g., \"personio\", \"greenhouse\"). | |
+| **integration_category** | **String** | The category of the integration (HRIS, ATS, or ASSESSMENT). | |
+| **changed_models** | [**Array<DataChangedWebhookPayloadDataChangedModelsInner>**](DataChangedWebhookPayloadDataChangedModelsInner.md) | List of data models and connections for which one or more records were created, updated, or deleted. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::DataChangedWebhookPayloadData.new(
+ integration_id: null,
+ integration_tool: null,
+ integration_category: null,
+ changed_models: null
+)
+```
+
diff --git a/docs/DataChangedWebhookPayloadDataChangedModelsInner.md b/docs/DataChangedWebhookPayloadDataChangedModelsInner.md
new file mode 100644
index 0000000..357802c
--- /dev/null
+++ b/docs/DataChangedWebhookPayloadDataChangedModelsInner.md
@@ -0,0 +1,18 @@
+# Kombo::DataChangedWebhookPayloadDataChangedModelsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **name** | **String** | The name of the Kombo model or connection that changed. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::DataChangedWebhookPayloadDataChangedModelsInner.new(
+ name: null
+)
+```
+
diff --git a/docs/DefaultApi.md b/docs/DefaultApi.md
new file mode 100644
index 0000000..2e871e8
--- /dev/null
+++ b/docs/DefaultApi.md
@@ -0,0 +1,766 @@
+# Kombo::DefaultApi
+
+All URIs are relative to *https://api.kombo.dev/v1*
+
+| Method | HTTP request | Description |
+| ------ | ------------ | ----------- |
+| [**webhook_ai_apply_application_status_updated_webhook_payload**](DefaultApi.md#webhook_ai_apply_application_status_updated_webhook_payload) | **POST** /ai-apply-application-status-updated | AI Apply: Application status updated |
+| [**webhook_ai_apply_job_posting_status_updated_webhook_payload**](DefaultApi.md#webhook_ai_apply_job_posting_status_updated_webhook_payload) | **POST** /ai-apply-job-posting-status-updated | AI Apply: Job posting status updated |
+| [**webhook_assessment_order_received_webhook_payload**](DefaultApi.md#webhook_assessment_order_received_webhook_payload) | **POST** /assessment:order-received | Assessment: Order received |
+| [**webhook_connection_flow_failed_webhook_payload**](DefaultApi.md#webhook_connection_flow_failed_webhook_payload) | **POST** /connection-flow-failed | Connection flow failed |
+| [**webhook_data_changed_webhook_payload**](DefaultApi.md#webhook_data_changed_webhook_payload) | **POST** /data-changed | Data changed |
+| [**webhook_inline_assessment_order_received_webhook_payload**](DefaultApi.md#webhook_inline_assessment_order_received_webhook_payload) | **POST** /inline-assessment:order-received | Inline assessment: Order received |
+| [**webhook_integration_created_webhook_payload**](DefaultApi.md#webhook_integration_created_webhook_payload) | **POST** /integration-created | Integration created |
+| [**webhook_integration_deleted_webhook_payload**](DefaultApi.md#webhook_integration_deleted_webhook_payload) | **POST** /integration-deleted | Integration deleted |
+| [**webhook_integration_state_changed_webhook_payload**](DefaultApi.md#webhook_integration_state_changed_webhook_payload) | **POST** /integration-state-changed | Integration state changed |
+| [**webhook_remote_event_received_webhook_payload**](DefaultApi.md#webhook_remote_event_received_webhook_payload) | **POST** /remote-event-received | Remote event received |
+| [**webhook_sync_finished_webhook_payload**](DefaultApi.md#webhook_sync_finished_webhook_payload) | **POST** /sync-finished | Sync finished |
+
+
+## webhook_ai_apply_application_status_updated_webhook_payload
+
+> webhook_ai_apply_application_status_updated_webhook_payload(x_kombo_signature, ai_apply_application_status_updated_webhook_payload)
+
+AI Apply: Application status updated
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::DefaultApi.new
+x_kombo_signature = # String | HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.
+ai_apply_application_status_updated_webhook_payload = # AiApplyApplicationStatusUpdatedWebhookPayload |
+
+begin
+ # AI Apply: Application status updated
+ api_instance.webhook_ai_apply_application_status_updated_webhook_payload(x_kombo_signature, ai_apply_application_status_updated_webhook_payload)
+rescue Kombo::ApiError => e
+ puts "Error when calling DefaultApi->webhook_ai_apply_application_status_updated_webhook_payload: #{e}"
+end
+```
+
+#### Using the webhook_ai_apply_application_status_updated_webhook_payload_with_http_info variant
+
+This returns an Array which contains the response data (`nil` in this case), status code and headers.
+
+> webhook_ai_apply_application_status_updated_webhook_payload_with_http_info(x_kombo_signature, ai_apply_application_status_updated_webhook_payload)
+
+```ruby
+begin
+ # AI Apply: Application status updated
+ data, status_code, headers = api_instance.webhook_ai_apply_application_status_updated_webhook_payload_with_http_info(x_kombo_signature, ai_apply_application_status_updated_webhook_payload)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # => nil
+rescue Kombo::ApiError => e
+ puts "Error when calling DefaultApi->webhook_ai_apply_application_status_updated_webhook_payload_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_kombo_signature** | **String** | HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. | |
+| **ai_apply_application_status_updated_webhook_payload** | [**AiApplyApplicationStatusUpdatedWebhookPayload**](AiApplyApplicationStatusUpdatedWebhookPayload.md) | | |
+
+### Return type
+
+nil (empty response body)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: Not defined
+
+
+## webhook_ai_apply_job_posting_status_updated_webhook_payload
+
+> webhook_ai_apply_job_posting_status_updated_webhook_payload(x_kombo_signature, ai_apply_job_posting_status_updated_webhook_payload)
+
+AI Apply: Job posting status updated
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::DefaultApi.new
+x_kombo_signature = # String | HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.
+ai_apply_job_posting_status_updated_webhook_payload = # AiApplyJobPostingStatusUpdatedWebhookPayload |
+
+begin
+ # AI Apply: Job posting status updated
+ api_instance.webhook_ai_apply_job_posting_status_updated_webhook_payload(x_kombo_signature, ai_apply_job_posting_status_updated_webhook_payload)
+rescue Kombo::ApiError => e
+ puts "Error when calling DefaultApi->webhook_ai_apply_job_posting_status_updated_webhook_payload: #{e}"
+end
+```
+
+#### Using the webhook_ai_apply_job_posting_status_updated_webhook_payload_with_http_info variant
+
+This returns an Array which contains the response data (`nil` in this case), status code and headers.
+
+> webhook_ai_apply_job_posting_status_updated_webhook_payload_with_http_info(x_kombo_signature, ai_apply_job_posting_status_updated_webhook_payload)
+
+```ruby
+begin
+ # AI Apply: Job posting status updated
+ data, status_code, headers = api_instance.webhook_ai_apply_job_posting_status_updated_webhook_payload_with_http_info(x_kombo_signature, ai_apply_job_posting_status_updated_webhook_payload)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # => nil
+rescue Kombo::ApiError => e
+ puts "Error when calling DefaultApi->webhook_ai_apply_job_posting_status_updated_webhook_payload_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_kombo_signature** | **String** | HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. | |
+| **ai_apply_job_posting_status_updated_webhook_payload** | [**AiApplyJobPostingStatusUpdatedWebhookPayload**](AiApplyJobPostingStatusUpdatedWebhookPayload.md) | | |
+
+### Return type
+
+nil (empty response body)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: Not defined
+
+
+## webhook_assessment_order_received_webhook_payload
+
+> webhook_assessment_order_received_webhook_payload(x_kombo_signature, assessment_order_received_webhook_payload)
+
+Assessment: Order received
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::DefaultApi.new
+x_kombo_signature = # String | HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.
+assessment_order_received_webhook_payload = # AssessmentOrderReceivedWebhookPayload |
+
+begin
+ # Assessment: Order received
+ api_instance.webhook_assessment_order_received_webhook_payload(x_kombo_signature, assessment_order_received_webhook_payload)
+rescue Kombo::ApiError => e
+ puts "Error when calling DefaultApi->webhook_assessment_order_received_webhook_payload: #{e}"
+end
+```
+
+#### Using the webhook_assessment_order_received_webhook_payload_with_http_info variant
+
+This returns an Array which contains the response data (`nil` in this case), status code and headers.
+
+> webhook_assessment_order_received_webhook_payload_with_http_info(x_kombo_signature, assessment_order_received_webhook_payload)
+
+```ruby
+begin
+ # Assessment: Order received
+ data, status_code, headers = api_instance.webhook_assessment_order_received_webhook_payload_with_http_info(x_kombo_signature, assessment_order_received_webhook_payload)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # => nil
+rescue Kombo::ApiError => e
+ puts "Error when calling DefaultApi->webhook_assessment_order_received_webhook_payload_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_kombo_signature** | **String** | HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. | |
+| **assessment_order_received_webhook_payload** | [**AssessmentOrderReceivedWebhookPayload**](AssessmentOrderReceivedWebhookPayload.md) | | |
+
+### Return type
+
+nil (empty response body)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: Not defined
+
+
+## webhook_connection_flow_failed_webhook_payload
+
+> webhook_connection_flow_failed_webhook_payload(x_kombo_signature, connection_flow_failed_webhook_payload)
+
+Connection flow failed
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::DefaultApi.new
+x_kombo_signature = # String | HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.
+connection_flow_failed_webhook_payload = # ConnectionFlowFailedWebhookPayload |
+
+begin
+ # Connection flow failed
+ api_instance.webhook_connection_flow_failed_webhook_payload(x_kombo_signature, connection_flow_failed_webhook_payload)
+rescue Kombo::ApiError => e
+ puts "Error when calling DefaultApi->webhook_connection_flow_failed_webhook_payload: #{e}"
+end
+```
+
+#### Using the webhook_connection_flow_failed_webhook_payload_with_http_info variant
+
+This returns an Array which contains the response data (`nil` in this case), status code and headers.
+
+> webhook_connection_flow_failed_webhook_payload_with_http_info(x_kombo_signature, connection_flow_failed_webhook_payload)
+
+```ruby
+begin
+ # Connection flow failed
+ data, status_code, headers = api_instance.webhook_connection_flow_failed_webhook_payload_with_http_info(x_kombo_signature, connection_flow_failed_webhook_payload)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # => nil
+rescue Kombo::ApiError => e
+ puts "Error when calling DefaultApi->webhook_connection_flow_failed_webhook_payload_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_kombo_signature** | **String** | HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. | |
+| **connection_flow_failed_webhook_payload** | [**ConnectionFlowFailedWebhookPayload**](ConnectionFlowFailedWebhookPayload.md) | | |
+
+### Return type
+
+nil (empty response body)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: Not defined
+
+
+## webhook_data_changed_webhook_payload
+
+> webhook_data_changed_webhook_payload(x_kombo_signature, data_changed_webhook_payload)
+
+Data changed
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::DefaultApi.new
+x_kombo_signature = # String | HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.
+data_changed_webhook_payload = # DataChangedWebhookPayload |
+
+begin
+ # Data changed
+ api_instance.webhook_data_changed_webhook_payload(x_kombo_signature, data_changed_webhook_payload)
+rescue Kombo::ApiError => e
+ puts "Error when calling DefaultApi->webhook_data_changed_webhook_payload: #{e}"
+end
+```
+
+#### Using the webhook_data_changed_webhook_payload_with_http_info variant
+
+This returns an Array which contains the response data (`nil` in this case), status code and headers.
+
+> webhook_data_changed_webhook_payload_with_http_info(x_kombo_signature, data_changed_webhook_payload)
+
+```ruby
+begin
+ # Data changed
+ data, status_code, headers = api_instance.webhook_data_changed_webhook_payload_with_http_info(x_kombo_signature, data_changed_webhook_payload)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # => nil
+rescue Kombo::ApiError => e
+ puts "Error when calling DefaultApi->webhook_data_changed_webhook_payload_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_kombo_signature** | **String** | HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. | |
+| **data_changed_webhook_payload** | [**DataChangedWebhookPayload**](DataChangedWebhookPayload.md) | | |
+
+### Return type
+
+nil (empty response body)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: Not defined
+
+
+## webhook_inline_assessment_order_received_webhook_payload
+
+> webhook_inline_assessment_order_received_webhook_payload(x_kombo_signature, inline_assessment_order_received_webhook_payload)
+
+Inline assessment: Order received
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::DefaultApi.new
+x_kombo_signature = # String | HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.
+inline_assessment_order_received_webhook_payload = # InlineAssessmentOrderReceivedWebhookPayload |
+
+begin
+ # Inline assessment: Order received
+ api_instance.webhook_inline_assessment_order_received_webhook_payload(x_kombo_signature, inline_assessment_order_received_webhook_payload)
+rescue Kombo::ApiError => e
+ puts "Error when calling DefaultApi->webhook_inline_assessment_order_received_webhook_payload: #{e}"
+end
+```
+
+#### Using the webhook_inline_assessment_order_received_webhook_payload_with_http_info variant
+
+This returns an Array which contains the response data (`nil` in this case), status code and headers.
+
+> webhook_inline_assessment_order_received_webhook_payload_with_http_info(x_kombo_signature, inline_assessment_order_received_webhook_payload)
+
+```ruby
+begin
+ # Inline assessment: Order received
+ data, status_code, headers = api_instance.webhook_inline_assessment_order_received_webhook_payload_with_http_info(x_kombo_signature, inline_assessment_order_received_webhook_payload)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # => nil
+rescue Kombo::ApiError => e
+ puts "Error when calling DefaultApi->webhook_inline_assessment_order_received_webhook_payload_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_kombo_signature** | **String** | HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. | |
+| **inline_assessment_order_received_webhook_payload** | [**InlineAssessmentOrderReceivedWebhookPayload**](InlineAssessmentOrderReceivedWebhookPayload.md) | | |
+
+### Return type
+
+nil (empty response body)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: Not defined
+
+
+## webhook_integration_created_webhook_payload
+
+> webhook_integration_created_webhook_payload(x_kombo_signature, integration_created_webhook_payload)
+
+Integration created
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::DefaultApi.new
+x_kombo_signature = # String | HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.
+integration_created_webhook_payload = # IntegrationCreatedWebhookPayload |
+
+begin
+ # Integration created
+ api_instance.webhook_integration_created_webhook_payload(x_kombo_signature, integration_created_webhook_payload)
+rescue Kombo::ApiError => e
+ puts "Error when calling DefaultApi->webhook_integration_created_webhook_payload: #{e}"
+end
+```
+
+#### Using the webhook_integration_created_webhook_payload_with_http_info variant
+
+This returns an Array which contains the response data (`nil` in this case), status code and headers.
+
+> webhook_integration_created_webhook_payload_with_http_info(x_kombo_signature, integration_created_webhook_payload)
+
+```ruby
+begin
+ # Integration created
+ data, status_code, headers = api_instance.webhook_integration_created_webhook_payload_with_http_info(x_kombo_signature, integration_created_webhook_payload)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # => nil
+rescue Kombo::ApiError => e
+ puts "Error when calling DefaultApi->webhook_integration_created_webhook_payload_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_kombo_signature** | **String** | HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. | |
+| **integration_created_webhook_payload** | [**IntegrationCreatedWebhookPayload**](IntegrationCreatedWebhookPayload.md) | | |
+
+### Return type
+
+nil (empty response body)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: Not defined
+
+
+## webhook_integration_deleted_webhook_payload
+
+> webhook_integration_deleted_webhook_payload(x_kombo_signature, integration_deleted_webhook_payload)
+
+Integration deleted
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::DefaultApi.new
+x_kombo_signature = # String | HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.
+integration_deleted_webhook_payload = # IntegrationDeletedWebhookPayload |
+
+begin
+ # Integration deleted
+ api_instance.webhook_integration_deleted_webhook_payload(x_kombo_signature, integration_deleted_webhook_payload)
+rescue Kombo::ApiError => e
+ puts "Error when calling DefaultApi->webhook_integration_deleted_webhook_payload: #{e}"
+end
+```
+
+#### Using the webhook_integration_deleted_webhook_payload_with_http_info variant
+
+This returns an Array which contains the response data (`nil` in this case), status code and headers.
+
+> webhook_integration_deleted_webhook_payload_with_http_info(x_kombo_signature, integration_deleted_webhook_payload)
+
+```ruby
+begin
+ # Integration deleted
+ data, status_code, headers = api_instance.webhook_integration_deleted_webhook_payload_with_http_info(x_kombo_signature, integration_deleted_webhook_payload)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # => nil
+rescue Kombo::ApiError => e
+ puts "Error when calling DefaultApi->webhook_integration_deleted_webhook_payload_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_kombo_signature** | **String** | HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. | |
+| **integration_deleted_webhook_payload** | [**IntegrationDeletedWebhookPayload**](IntegrationDeletedWebhookPayload.md) | | |
+
+### Return type
+
+nil (empty response body)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: Not defined
+
+
+## webhook_integration_state_changed_webhook_payload
+
+> webhook_integration_state_changed_webhook_payload(x_kombo_signature, integration_state_changed_webhook_payload)
+
+Integration state changed
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::DefaultApi.new
+x_kombo_signature = # String | HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.
+integration_state_changed_webhook_payload = # IntegrationStateChangedWebhookPayload |
+
+begin
+ # Integration state changed
+ api_instance.webhook_integration_state_changed_webhook_payload(x_kombo_signature, integration_state_changed_webhook_payload)
+rescue Kombo::ApiError => e
+ puts "Error when calling DefaultApi->webhook_integration_state_changed_webhook_payload: #{e}"
+end
+```
+
+#### Using the webhook_integration_state_changed_webhook_payload_with_http_info variant
+
+This returns an Array which contains the response data (`nil` in this case), status code and headers.
+
+> webhook_integration_state_changed_webhook_payload_with_http_info(x_kombo_signature, integration_state_changed_webhook_payload)
+
+```ruby
+begin
+ # Integration state changed
+ data, status_code, headers = api_instance.webhook_integration_state_changed_webhook_payload_with_http_info(x_kombo_signature, integration_state_changed_webhook_payload)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # => nil
+rescue Kombo::ApiError => e
+ puts "Error when calling DefaultApi->webhook_integration_state_changed_webhook_payload_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_kombo_signature** | **String** | HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. | |
+| **integration_state_changed_webhook_payload** | [**IntegrationStateChangedWebhookPayload**](IntegrationStateChangedWebhookPayload.md) | | |
+
+### Return type
+
+nil (empty response body)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: Not defined
+
+
+## webhook_remote_event_received_webhook_payload
+
+> webhook_remote_event_received_webhook_payload(x_kombo_signature, remote_event_received_webhook_payload)
+
+Remote event received
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::DefaultApi.new
+x_kombo_signature = # String | HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.
+remote_event_received_webhook_payload = # RemoteEventReceivedWebhookPayload |
+
+begin
+ # Remote event received
+ api_instance.webhook_remote_event_received_webhook_payload(x_kombo_signature, remote_event_received_webhook_payload)
+rescue Kombo::ApiError => e
+ puts "Error when calling DefaultApi->webhook_remote_event_received_webhook_payload: #{e}"
+end
+```
+
+#### Using the webhook_remote_event_received_webhook_payload_with_http_info variant
+
+This returns an Array which contains the response data (`nil` in this case), status code and headers.
+
+> webhook_remote_event_received_webhook_payload_with_http_info(x_kombo_signature, remote_event_received_webhook_payload)
+
+```ruby
+begin
+ # Remote event received
+ data, status_code, headers = api_instance.webhook_remote_event_received_webhook_payload_with_http_info(x_kombo_signature, remote_event_received_webhook_payload)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # => nil
+rescue Kombo::ApiError => e
+ puts "Error when calling DefaultApi->webhook_remote_event_received_webhook_payload_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_kombo_signature** | **String** | HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. | |
+| **remote_event_received_webhook_payload** | [**RemoteEventReceivedWebhookPayload**](RemoteEventReceivedWebhookPayload.md) | | |
+
+### Return type
+
+nil (empty response body)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: Not defined
+
+
+## webhook_sync_finished_webhook_payload
+
+> webhook_sync_finished_webhook_payload(x_kombo_signature, sync_finished_webhook_payload)
+
+Sync finished
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::DefaultApi.new
+x_kombo_signature = # String | HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature.
+sync_finished_webhook_payload = # SyncFinishedWebhookPayload |
+
+begin
+ # Sync finished
+ api_instance.webhook_sync_finished_webhook_payload(x_kombo_signature, sync_finished_webhook_payload)
+rescue Kombo::ApiError => e
+ puts "Error when calling DefaultApi->webhook_sync_finished_webhook_payload: #{e}"
+end
+```
+
+#### Using the webhook_sync_finished_webhook_payload_with_http_info variant
+
+This returns an Array which contains the response data (`nil` in this case), status code and headers.
+
+> webhook_sync_finished_webhook_payload_with_http_info(x_kombo_signature, sync_finished_webhook_payload)
+
+```ruby
+begin
+ # Sync finished
+ data, status_code, headers = api_instance.webhook_sync_finished_webhook_payload_with_http_info(x_kombo_signature, sync_finished_webhook_payload)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # => nil
+rescue Kombo::ApiError => e
+ puts "Error when calling DefaultApi->webhook_sync_finished_webhook_payload_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_kombo_signature** | **String** | HMAC signature for webhook verification. See the webhook documentation for details on how to verify this signature. | |
+| **sync_finished_webhook_payload** | [**SyncFinishedWebhookPayload**](SyncFinishedWebhookPayload.md) | | |
+
+### Return type
+
+nil (empty response body)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: Not defined
+
diff --git a/docs/DeleteAtsCandidatesCandidateIdTagsPositiveResponse.md b/docs/DeleteAtsCandidatesCandidateIdTagsPositiveResponse.md
new file mode 100644
index 0000000..1709b52
--- /dev/null
+++ b/docs/DeleteAtsCandidatesCandidateIdTagsPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::DeleteAtsCandidatesCandidateIdTagsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | **Object** | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::DeleteAtsCandidatesCandidateIdTagsPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/DeleteAtsCandidatesCandidateIdTagsRequestBody.md b/docs/DeleteAtsCandidatesCandidateIdTagsRequestBody.md
new file mode 100644
index 0000000..9440bbf
--- /dev/null
+++ b/docs/DeleteAtsCandidatesCandidateIdTagsRequestBody.md
@@ -0,0 +1,20 @@
+# Kombo::DeleteAtsCandidatesCandidateIdTagsRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **tag** | [**DeleteAtsCandidatesCandidateIdTagsRequestBodyTag**](DeleteAtsCandidatesCandidateIdTagsRequestBodyTag.md) | | |
+| **remote_fields** | [**PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields**](PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::DeleteAtsCandidatesCandidateIdTagsRequestBody.new(
+ tag: null,
+ remote_fields: null
+)
+```
+
diff --git a/docs/DeleteAtsCandidatesCandidateIdTagsRequestBodyTag.md b/docs/DeleteAtsCandidatesCandidateIdTagsRequestBodyTag.md
new file mode 100644
index 0000000..800555d
--- /dev/null
+++ b/docs/DeleteAtsCandidatesCandidateIdTagsRequestBodyTag.md
@@ -0,0 +1,18 @@
+# Kombo::DeleteAtsCandidatesCandidateIdTagsRequestBodyTag
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **name** | **String** | The name of the tag you would like to remove. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::DeleteAtsCandidatesCandidateIdTagsRequestBodyTag.new(
+ name: null
+)
+```
+
diff --git a/docs/DeleteHrisAbsencesAbsenceIdPositiveResponse.md b/docs/DeleteHrisAbsencesAbsenceIdPositiveResponse.md
new file mode 100644
index 0000000..8b73ea0
--- /dev/null
+++ b/docs/DeleteHrisAbsencesAbsenceIdPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::DeleteHrisAbsencesAbsenceIdPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**PostHrisAbsencesPositiveResponseData**](PostHrisAbsencesPositiveResponseData.md) | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::DeleteHrisAbsencesAbsenceIdPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/DeleteHrisAbsencesAbsenceIdRequestBody.md b/docs/DeleteHrisAbsencesAbsenceIdRequestBody.md
new file mode 100644
index 0000000..2b0cb31
--- /dev/null
+++ b/docs/DeleteHrisAbsencesAbsenceIdRequestBody.md
@@ -0,0 +1,18 @@
+# Kombo::DeleteHrisAbsencesAbsenceIdRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **remote_fields** | [**DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFields**](DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFields.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::DeleteHrisAbsencesAbsenceIdRequestBody.new(
+ remote_fields: null
+)
+```
+
diff --git a/docs/DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFields.md b/docs/DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFields.md
new file mode 100644
index 0000000..fb3c3a1
--- /dev/null
+++ b/docs/DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFields.md
@@ -0,0 +1,18 @@
+# Kombo::DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFields
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **adpworkforcenow** | [**DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFieldsAdpworkforcenow**](DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFieldsAdpworkforcenow.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFields.new(
+ adpworkforcenow: null
+)
+```
+
diff --git a/docs/DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFieldsAdpworkforcenow.md b/docs/DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFieldsAdpworkforcenow.md
new file mode 100644
index 0000000..693d677
--- /dev/null
+++ b/docs/DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFieldsAdpworkforcenow.md
@@ -0,0 +1,18 @@
+# Kombo::DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFieldsAdpworkforcenow
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **employment_id** | **String** | [Required] The employment ID of the employee that the absence will be deleted from. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::DeleteHrisAbsencesAbsenceIdRequestBodyRemoteFieldsAdpworkforcenow.new(
+ employment_id: null
+)
+```
+
diff --git a/docs/DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse.md b/docs/DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse.md
new file mode 100644
index 0000000..f2294c1
--- /dev/null
+++ b/docs/DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner**](GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::DeleteHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/DeleteHrisSkillsSkillIdPositiveResponse.md b/docs/DeleteHrisSkillsSkillIdPositiveResponse.md
new file mode 100644
index 0000000..f330870
--- /dev/null
+++ b/docs/DeleteHrisSkillsSkillIdPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::DeleteHrisSkillsSkillIdPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetHrisSkillsPositiveResponseDataResultsInner**](GetHrisSkillsPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::DeleteHrisSkillsSkillIdPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/DeleteIntegrationsIntegrationIdPositiveResponse.md b/docs/DeleteIntegrationsIntegrationIdPositiveResponse.md
new file mode 100644
index 0000000..6f69b29
--- /dev/null
+++ b/docs/DeleteIntegrationsIntegrationIdPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::DeleteIntegrationsIntegrationIdPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | **Object** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::DeleteIntegrationsIntegrationIdPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GeneralApi.md b/docs/GeneralApi.md
new file mode 100644
index 0000000..39a9b83
--- /dev/null
+++ b/docs/GeneralApi.md
@@ -0,0 +1,1262 @@
+# Kombo::GeneralApi
+
+All URIs are relative to *https://api.kombo.dev/v1*
+
+| Method | HTTP request | Description |
+| ------ | ------------ | ----------- |
+| [**delete_integrations_integration_id**](GeneralApi.md#delete_integrations_integration_id) | **DELETE** /integrations/{integration_id} | Delete integration |
+| [**get_check_api_key**](GeneralApi.md#get_check_api_key) | **GET** /check-api-key | Check API key |
+| [**get_integrations_integration_id**](GeneralApi.md#get_integrations_integration_id) | **GET** /integrations/{integration_id} | Get integration details |
+| [**get_integrations_integration_id_custom_fields**](GeneralApi.md#get_integrations_integration_id_custom_fields) | **GET** /integrations/{integration_id}/custom-fields | Get custom fields with current mappings |
+| [**get_integrations_integration_id_integration_fields**](GeneralApi.md#get_integrations_integration_id_integration_fields) | **GET** /integrations/{integration_id}/integration-fields | Get integration fields |
+| [**get_lms_courses**](GeneralApi.md#get_lms_courses) | **GET** /lms/courses | Get courses |
+| [**get_lms_users**](GeneralApi.md#get_lms_users) | **GET** /lms/users | Get users |
+| [**get_tools_category**](GeneralApi.md#get_tools_category) | **GET** /tools/{category} | Get tools |
+| [**patch_integrations_integration_id_integration_fields_integration_field_id**](GeneralApi.md#patch_integrations_integration_id_integration_fields_integration_field_id) | **PATCH** /integrations/{integration_id}/integration-fields/{integration_field_id} | Updates an integration fields passthrough setting |
+| [**patch_lms_progress_progress_id**](GeneralApi.md#patch_lms_progress_progress_id) | **PATCH** /lms/progress/{progress_id} | Update progress |
+| [**post_force_sync**](GeneralApi.md#post_force_sync) | **POST** /force-sync | Trigger sync |
+| [**post_integrations_integration_id_relink**](GeneralApi.md#post_integrations_integration_id_relink) | **POST** /integrations/{integration_id}/relink | Create reconnection link |
+| [**post_lms_content**](GeneralApi.md#post_lms_content) | **POST** /lms/content | Add content to course |
+| [**post_lms_courses**](GeneralApi.md#post_lms_courses) | **POST** /lms/courses | Create course |
+| [**post_lms_progress**](GeneralApi.md#post_lms_progress) | **POST** /lms/progress | Create progress |
+| [**post_passthrough_tool_api**](GeneralApi.md#post_passthrough_tool_api) | **POST** /passthrough/{tool}/{api} | Send passthrough request |
+| [**put_integrations_integration_id_custom_fields_custom_field_id**](GeneralApi.md#put_integrations_integration_id_custom_fields_custom_field_id) | **PUT** /integrations/{integration_id}/custom-fields/{custom_field_id} | Put custom field mappings |
+
+
+## delete_integrations_integration_id
+
+> delete_integrations_integration_id(integration_id, opts)
+
+Delete integration
+
+Delete the specified integration. **⚠️ This can not be undone!**
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::GeneralApi.new
+integration_id = 'integration_id_example' # String | DELETE /integrations/:integration_id Parameter
+opts = {
+ body: { ... } # Object | DELETE /integrations/:integration_id Request body
+}
+
+begin
+ # Delete integration
+ result = api_instance.delete_integrations_integration_id(integration_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->delete_integrations_integration_id: #{e}"
+end
+```
+
+#### Using the delete_integrations_integration_id_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> delete_integrations_integration_id_with_http_info(integration_id, opts)
+
+```ruby
+begin
+ # Delete integration
+ data, status_code, headers = api_instance.delete_integrations_integration_id_with_http_info(integration_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->delete_integrations_integration_id_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **integration_id** | **String** | DELETE /integrations/:integration_id Parameter | |
+| **body** | **Object** | DELETE /integrations/:integration_id Request body | [optional] |
+
+### Return type
+
+[**DeleteIntegrationsIntegrationIdPositiveResponse**](DeleteIntegrationsIntegrationIdPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## get_check_api_key
+
+> get_check_api_key
+
+Check API key
+
+Check whether your API key is working properly.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::GeneralApi.new
+
+begin
+ # Check API key
+ result = api_instance.get_check_api_key
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->get_check_api_key: #{e}"
+end
+```
+
+#### Using the get_check_api_key_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_check_api_key_with_http_info
+
+```ruby
+begin
+ # Check API key
+ data, status_code, headers = api_instance.get_check_api_key_with_http_info
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->get_check_api_key_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+This endpoint does not need any parameter.
+
+### Return type
+
+[**GetCheckApiKeyPositiveResponse**](GetCheckApiKeyPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_integrations_integration_id
+
+> get_integrations_integration_id(integration_id)
+
+Get integration details
+
+Get the specified integration with everything you need to display it to your customer.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::GeneralApi.new
+integration_id = 'integration_id_example' # String | GET /integrations/:integration_id Parameter
+
+begin
+ # Get integration details
+ result = api_instance.get_integrations_integration_id(integration_id)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->get_integrations_integration_id: #{e}"
+end
+```
+
+#### Using the get_integrations_integration_id_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_integrations_integration_id_with_http_info(integration_id)
+
+```ruby
+begin
+ # Get integration details
+ data, status_code, headers = api_instance.get_integrations_integration_id_with_http_info(integration_id)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->get_integrations_integration_id_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **integration_id** | **String** | GET /integrations/:integration_id Parameter | |
+
+### Return type
+
+[**GetIntegrationsIntegrationIdPositiveResponse**](GetIntegrationsIntegrationIdPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_integrations_integration_id_custom_fields
+
+> get_integrations_integration_id_custom_fields(integration_id, opts)
+
+Get custom fields with current mappings
+
+Get all custom fields available on the specified integration. **This includes the mapping to the corresponding integration field if applicable*
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::GeneralApi.new
+integration_id = 'integration_id_example' # String | GET /integrations/:integration_id/custom-fields Parameter
+opts = {
+ cursor: 'cursor_example', # String | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response.
+ page_size: 789 # Integer | The number of results to return per page. Maximum is 250.
+}
+
+begin
+ # Get custom fields with current mappings
+ result = api_instance.get_integrations_integration_id_custom_fields(integration_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->get_integrations_integration_id_custom_fields: #{e}"
+end
+```
+
+#### Using the get_integrations_integration_id_custom_fields_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_integrations_integration_id_custom_fields_with_http_info(integration_id, opts)
+
+```ruby
+begin
+ # Get custom fields with current mappings
+ data, status_code, headers = api_instance.get_integrations_integration_id_custom_fields_with_http_info(integration_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->get_integrations_integration_id_custom_fields_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **integration_id** | **String** | GET /integrations/:integration_id/custom-fields Parameter | |
+| **cursor** | **String** | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. | [optional] |
+| **page_size** | **Integer** | The number of results to return per page. Maximum is 250. | [optional][default to 100] |
+
+### Return type
+
+[**GetIntegrationsIntegrationIdCustomFieldsPositiveResponse**](GetIntegrationsIntegrationIdCustomFieldsPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_integrations_integration_id_integration_fields
+
+> get_integrations_integration_id_integration_fields(integration_id, opts)
+
+Get integration fields
+
+Get all fields available on the specified integration. **This includes the mapping to your custom fields**
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::GeneralApi.new
+integration_id = 'integration_id_example' # String | GET /integrations/:integration_id/integration-fields Parameter
+opts = {
+ cursor: 'cursor_example', # String | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response.
+ page_size: 789 # Integer | The number of results to return per page. Maximum is 2000.
+}
+
+begin
+ # Get integration fields
+ result = api_instance.get_integrations_integration_id_integration_fields(integration_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->get_integrations_integration_id_integration_fields: #{e}"
+end
+```
+
+#### Using the get_integrations_integration_id_integration_fields_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_integrations_integration_id_integration_fields_with_http_info(integration_id, opts)
+
+```ruby
+begin
+ # Get integration fields
+ data, status_code, headers = api_instance.get_integrations_integration_id_integration_fields_with_http_info(integration_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->get_integrations_integration_id_integration_fields_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **integration_id** | **String** | GET /integrations/:integration_id/integration-fields Parameter | |
+| **cursor** | **String** | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. | [optional] |
+| **page_size** | **Integer** | The number of results to return per page. Maximum is 2000. | [optional][default to 100] |
+
+### Return type
+
+[**GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponse**](GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_lms_courses
+
+> get_lms_courses(opts)
+
+Get courses
+
+Get courses **Closed Beta Feature:** This endpoint is currently in closed beta. We're testing it with selected customers before its public release. If you're interested in learning more or getting early access, please reach out. Retrieve all courses available in the LMS. Courses are structured learning programs that contain ordered content items and develop specific skills.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::GeneralApi.new
+opts = {
+ ids: 'ids_example', # String | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
+ remote_ids: 'remote_ids_example', # String | Filter by a comma-separated list of remote IDs.
+ title_contains: 'title_contains_example' # String | Filter by the `title` field. Can be used to find courses by keywords present in the course title.
+}
+
+begin
+ # Get courses
+ result = api_instance.get_lms_courses(opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->get_lms_courses: #{e}"
+end
+```
+
+#### Using the get_lms_courses_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_lms_courses_with_http_info(opts)
+
+```ruby
+begin
+ # Get courses
+ data, status_code, headers = api_instance.get_lms_courses_with_http_info(opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->get_lms_courses_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **ids** | **String** | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. | [optional] |
+| **remote_ids** | **String** | Filter by a comma-separated list of remote IDs. | [optional] |
+| **title_contains** | **String** | Filter by the `title` field. Can be used to find courses by keywords present in the course title. | [optional] |
+
+### Return type
+
+[**GetLmsCoursesPositiveResponse**](GetLmsCoursesPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_lms_users
+
+> get_lms_users(opts)
+
+Get users
+
+Get users **Closed Beta Feature:** This endpoint is currently in closed beta. We're testing it with selected customers before its public release. If you're interested in learning more or getting early access, please reach out. Retrieve all users from the LMS system. Users are learners who can enroll in and complete courses. The response includes their current progress across all enrolled courses.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::GeneralApi.new
+opts = {
+ ids: 'ids_example', # String | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
+ remote_ids: 'remote_ids_example', # String | Filter by a comma-separated list of remote IDs.
+ email: 'email_example', # String | Filter users by their work email address.
+ status: Kombo::GetLmsUsersParameterStatus::ACTIVE # GetLmsUsersParameterStatus | Filter users by their current status.
+}
+
+begin
+ # Get users
+ result = api_instance.get_lms_users(opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->get_lms_users: #{e}"
+end
+```
+
+#### Using the get_lms_users_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_lms_users_with_http_info(opts)
+
+```ruby
+begin
+ # Get users
+ data, status_code, headers = api_instance.get_lms_users_with_http_info(opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->get_lms_users_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **ids** | **String** | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. | [optional] |
+| **remote_ids** | **String** | Filter by a comma-separated list of remote IDs. | [optional] |
+| **email** | **String** | Filter users by their work email address. | [optional] |
+| **status** | [**GetLmsUsersParameterStatus**](.md) | Filter users by their current status. | [optional] |
+
+### Return type
+
+[**GetLmsUsersPositiveResponse**](GetLmsUsersPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_tools_category
+
+> get_tools_category(category)
+
+Get tools
+
+Get a list of the tools (i.e., integrations) enabled in your environment. This can (in combination with the `integration_tool` parameter of [the \"Create Link\" endpoint](/v1/post-create-link)) be used to, for example, display a custom list or grid of available integrations to your end users instead of exposing Kombo Connect's standard tool selector.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::GeneralApi.new
+category = Kombo::GetToolsCategoryParameterCategory::HRIS # GetToolsCategoryParameterCategory | GET /tools/:category Parameter
+
+begin
+ # Get tools
+ result = api_instance.get_tools_category(category)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->get_tools_category: #{e}"
+end
+```
+
+#### Using the get_tools_category_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_tools_category_with_http_info(category)
+
+```ruby
+begin
+ # Get tools
+ data, status_code, headers = api_instance.get_tools_category_with_http_info(category)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->get_tools_category_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **category** | [**GetToolsCategoryParameterCategory**](.md) | GET /tools/:category Parameter | |
+
+### Return type
+
+[**GetToolsCategoryPositiveResponse**](GetToolsCategoryPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## patch_integrations_integration_id_integration_fields_integration_field_id
+
+> patch_integrations_integration_id_integration_fields_integration_field_id(integration_id, integration_field_id, opts)
+
+Updates an integration fields passthrough setting
+
+When enabled, the integration field will be passed as part of the `integration_fields` array on the specific model endpoint. Providing false will disable the passthrough for the specified field.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::GeneralApi.new
+integration_id = 'integration_id' # String | PATCH /integrations/:integration_id/integration-fields/:integration_field_id Parameter
+integration_field_id = 'integration_field_id' # String | PATCH /integrations/:integration_id/integration-fields/:integration_field_id Parameter
+opts = {
+ patch_integrations_integration_id_integration_fields_integration_field_id_request_body: Kombo::PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody.new({enable_passthrough: false}) # PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody | PATCH /integrations/:integration_id/integration-fields/:integration_field_id Request body
+}
+
+begin
+ # Updates an integration fields passthrough setting
+ result = api_instance.patch_integrations_integration_id_integration_fields_integration_field_id(integration_id, integration_field_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->patch_integrations_integration_id_integration_fields_integration_field_id: #{e}"
+end
+```
+
+#### Using the patch_integrations_integration_id_integration_fields_integration_field_id_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> patch_integrations_integration_id_integration_fields_integration_field_id_with_http_info(integration_id, integration_field_id, opts)
+
+```ruby
+begin
+ # Updates an integration fields passthrough setting
+ data, status_code, headers = api_instance.patch_integrations_integration_id_integration_fields_integration_field_id_with_http_info(integration_id, integration_field_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->patch_integrations_integration_id_integration_fields_integration_field_id_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **integration_id** | **String** | PATCH /integrations/:integration_id/integration-fields/:integration_field_id Parameter | |
+| **integration_field_id** | **String** | PATCH /integrations/:integration_id/integration-fields/:integration_field_id Parameter | |
+| **patch_integrations_integration_id_integration_fields_integration_field_id_request_body** | [**PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody**](PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody.md) | PATCH /integrations/:integration_id/integration-fields/:integration_field_id Request body | [optional] |
+
+### Return type
+
+[**PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse**](PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## patch_lms_progress_progress_id
+
+> patch_lms_progress_progress_id(progress_id, opts)
+
+Update progress
+
+Update progress **Closed Beta Feature:** This endpoint is currently in closed beta. We're testing it with selected customers before its public release. If you're interested in learning more or getting early access, please reach out. Update an existing progress entry. Use this to record changes in status, scores, completion dates, or other learning metrics.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::GeneralApi.new
+progress_id = 'progress_id_example' # String | The ID of the progress entry
+opts = {
+ patch_lms_progress_progress_id_request_body: Kombo::PatchLmsProgressProgressIdRequestBody.new # PatchLmsProgressProgressIdRequestBody | PATCH /lms/progress/:progress_id Request body
+}
+
+begin
+ # Update progress
+ result = api_instance.patch_lms_progress_progress_id(progress_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->patch_lms_progress_progress_id: #{e}"
+end
+```
+
+#### Using the patch_lms_progress_progress_id_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> patch_lms_progress_progress_id_with_http_info(progress_id, opts)
+
+```ruby
+begin
+ # Update progress
+ data, status_code, headers = api_instance.patch_lms_progress_progress_id_with_http_info(progress_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->patch_lms_progress_progress_id_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **progress_id** | **String** | The ID of the progress entry | |
+| **patch_lms_progress_progress_id_request_body** | [**PatchLmsProgressProgressIdRequestBody**](PatchLmsProgressProgressIdRequestBody.md) | PATCH /lms/progress/:progress_id Request body | [optional] |
+
+### Return type
+
+[**PatchLmsProgressProgressIdPositiveResponse**](PatchLmsProgressProgressIdPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_force_sync
+
+> post_force_sync(x_integration_id, opts)
+
+Trigger sync
+
+Trigger a sync for a specific integration. Please note that it is **not** necessary nor recommended to call this endpoint periodically on your side. Kombo already performs periodic syncs for you and you should only trigger syncs yourself in special cases (like when a user clicks on a \"Sync\" button in your app).
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::GeneralApi.new
+x_integration_id = 'workday:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+opts = {
+ post_force_sync_request_body: Kombo::PostForceSyncRequestBody.new # PostForceSyncRequestBody | POST /force-sync Request body
+}
+
+begin
+ # Trigger sync
+ result = api_instance.post_force_sync(x_integration_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->post_force_sync: #{e}"
+end
+```
+
+#### Using the post_force_sync_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_force_sync_with_http_info(x_integration_id, opts)
+
+```ruby
+begin
+ # Trigger sync
+ data, status_code, headers = api_instance.post_force_sync_with_http_info(x_integration_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->post_force_sync_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **post_force_sync_request_body** | [**PostForceSyncRequestBody**](PostForceSyncRequestBody.md) | POST /force-sync Request body | [optional] |
+
+### Return type
+
+[**PostForceSyncPositiveResponse**](PostForceSyncPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_integrations_integration_id_relink
+
+> post_integrations_integration_id_relink(integration_id, opts)
+
+Create reconnection link
+
+Create a link that will allow the user to reconnect an integration. This is useful if you want to allow your users to update the credentials if the old ones for example expired. Embed this the same way you would [embed the connect link](/connect/embedded-flow). By default, the link will be valid for 1 hour. ### Example Request Body ```json { \"language\": \"en\", \"scope_config_id\": \"9Pv6aCFwNDEzPNmwjSsY9SQx\", \"link_type\": \"EMBEDDED\" } ```
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::GeneralApi.new
+integration_id = 'personio:93fCvorjZ2jas7ZekX1V1n5d' # String | POST /integrations/:integration_id/relink Parameter
+opts = {
+ post_integrations_integration_id_relink_request_body: Kombo::PostIntegrationsIntegrationIdRelinkRequestBody.new # PostIntegrationsIntegrationIdRelinkRequestBody | POST /integrations/:integration_id/relink Request body
+}
+
+begin
+ # Create reconnection link
+ result = api_instance.post_integrations_integration_id_relink(integration_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->post_integrations_integration_id_relink: #{e}"
+end
+```
+
+#### Using the post_integrations_integration_id_relink_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_integrations_integration_id_relink_with_http_info(integration_id, opts)
+
+```ruby
+begin
+ # Create reconnection link
+ data, status_code, headers = api_instance.post_integrations_integration_id_relink_with_http_info(integration_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->post_integrations_integration_id_relink_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **integration_id** | **String** | POST /integrations/:integration_id/relink Parameter | |
+| **post_integrations_integration_id_relink_request_body** | [**PostIntegrationsIntegrationIdRelinkRequestBody**](PostIntegrationsIntegrationIdRelinkRequestBody.md) | POST /integrations/:integration_id/relink Request body | [optional] |
+
+### Return type
+
+[**PostIntegrationsIntegrationIdRelinkPositiveResponse**](PostIntegrationsIntegrationIdRelinkPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_lms_content
+
+> post_lms_content(opts)
+
+Add content to course
+
+Add content to course **Closed Beta Feature:** This endpoint is currently in closed beta. We're testing it with selected customers before its public release. If you're interested in learning more or getting early access, please reach out. Add a new content item to a course. Content items are the building blocks of courses and can be videos, text materials, quizzes, or coaching sessions. They will be added to the end of the course's ordered content list.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::GeneralApi.new
+opts = {
+ post_lms_content_request_body: Kombo::PostLmsContentRequestBody.new({course_id: 'course_id_example', title: 'title_example', type: 'COACHING'}) # PostLmsContentRequestBody | POST /lms/content Request body
+}
+
+begin
+ # Add content to course
+ result = api_instance.post_lms_content(opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->post_lms_content: #{e}"
+end
+```
+
+#### Using the post_lms_content_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_lms_content_with_http_info(opts)
+
+```ruby
+begin
+ # Add content to course
+ data, status_code, headers = api_instance.post_lms_content_with_http_info(opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->post_lms_content_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **post_lms_content_request_body** | [**PostLmsContentRequestBody**](PostLmsContentRequestBody.md) | POST /lms/content Request body | [optional] |
+
+### Return type
+
+[**PostLmsContentPositiveResponse**](PostLmsContentPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_lms_courses
+
+> post_lms_courses(opts)
+
+Create course
+
+Create course **Closed Beta Feature:** This endpoint is currently in closed beta. We're testing it with selected customers before its public release. If you're interested in learning more or getting early access, please reach out. Create a new course in the LMS with a title, description, and associated skills. Content items can be added separately using the content endpoints.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::GeneralApi.new
+opts = {
+ post_lms_courses_request_body: Kombo::PostLmsCoursesRequestBody.new({title: 'title_example'}) # PostLmsCoursesRequestBody | POST /lms/courses Request body
+}
+
+begin
+ # Create course
+ result = api_instance.post_lms_courses(opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->post_lms_courses: #{e}"
+end
+```
+
+#### Using the post_lms_courses_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_lms_courses_with_http_info(opts)
+
+```ruby
+begin
+ # Create course
+ data, status_code, headers = api_instance.post_lms_courses_with_http_info(opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->post_lms_courses_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **post_lms_courses_request_body** | [**PostLmsCoursesRequestBody**](PostLmsCoursesRequestBody.md) | POST /lms/courses Request body | [optional] |
+
+### Return type
+
+[**PostLmsCoursesPositiveResponse**](PostLmsCoursesPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_lms_progress
+
+> post_lms_progress(opts)
+
+Create progress
+
+Create progress **Closed Beta Feature:** This endpoint is currently in closed beta. We're testing it with selected customers before its public release. If you're interested in learning more or getting early access, please reach out. Create a new progress entry for a user in a course. This records enrollment, completion, scores, and other learning metrics.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::GeneralApi.new
+opts = {
+ post_lms_progress_request_body: Kombo::PostLmsProgressRequestBody.new({course_id: 'course_id_example', user_id: 'user_id_example', progress_id: 'progress_id_example', status: 'ENROLLED', enrollment_date: 'enrollment_date_example'}) # PostLmsProgressRequestBody | POST /lms/progress Request body
+}
+
+begin
+ # Create progress
+ result = api_instance.post_lms_progress(opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->post_lms_progress: #{e}"
+end
+```
+
+#### Using the post_lms_progress_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_lms_progress_with_http_info(opts)
+
+```ruby
+begin
+ # Create progress
+ data, status_code, headers = api_instance.post_lms_progress_with_http_info(opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->post_lms_progress_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **post_lms_progress_request_body** | [**PostLmsProgressRequestBody**](PostLmsProgressRequestBody.md) | POST /lms/progress Request body | [optional] |
+
+### Return type
+
+[**PostLmsProgressPositiveResponse**](PostLmsProgressPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_passthrough_tool_api
+
+> post_passthrough_tool_api(x_integration_id, tool, api, opts)
+
+Send passthrough request
+
+Send a request to the specified integration's native API. At Kombo we put a lot of work into making sure that our unified API covers all our customers' use cases and that they never have to think about integration-specific logic again. There are cases, however, where our customers want to build features that are very integration-specific. That's where this endpoint comes in. Pass in details about the request you want to make to the integration's API and we'll forward it for you. We'll also take care of setting the right base URL and authenticating your requests. To get started, please pick the relevant API (some tools provide multiple to due different base URLs or authentication schemes) from the table below and pass in the `{tool}/{api}` identifier as part of the path. |Integration|`{tool}/{api}`|Description| |---|---|---| |Personio|`personio/personnel`|Personio's [Personnel Data API](https://developer.personio.de/reference/get_company-employees). We automatically authenticate all requests using the client ID and secret and use `https://api.personio.de/v1` as the base URL.| |Personio|`personio/personnelv2`|Personio's [V2 Personnel Data API](https://developer.personio.de/v2.0/reference/introduction). We automatically authenticate all requests using the client ID and secret and use `https://api.personio.de/v2` as the base URL.| |Workday|`workday/soap`|[Workday's SOAP API](https://community.workday.com/sites/default/files/file-hosting/productionapi/index.html). We automatically authenticate all requests. Set `data` to your raw xml string. Use `/` as your `path`, as we will always send requests to `https://\\{domain\\}/ccx/service/\\{tenant\\}/\\{service_name\\}`. Set your `method` to `POST`. You need to specify the `api_options` object and set `service_name` to the name of the service you want to call. Find all available services [here](https://community.workday.com/sites/default/files/file-hosting/productionapi/versions/v41.0/index.html). The string that you submit as `data` will be the content of the `soapenv:Body` tag in the request. You can set the `service_version` to any valid Workday service version (the default is `38.2`).| |Workday|`workday/rest`|[Workday's REST API](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html). We automatically authenticate all requests and use the correct Workday REST base URL for your tenant. The base URL follows the format: https://\\{domain\\}/api/\\{service_name\\}/\\{version\\}/\\{tenant\\}. You can specify any valid REST endpoint and method. See the Workday REST API documentation for available endpoints. You must specify the `api_options` object and set `service_name` to the name of the service you want to call. You can also specify the `version` (e.g., \"v1\", \"v2\"); if omitted, it defaults to \"v1\".| |SAP SuccessFactors|`successfactors/odata-v2`|[SuccessFactors' OData V2 API](https://help.sap.com/doc/74597e67f54d4f448252bad4c2b601c9/2211/en-US/SF_HCM_OData_API_REF_en.pdf). We automatically authenticate all requests and use `https://\\{api_domain\\}\\{path?\\}/odata/v2` as the base URL (the optional `\\{path\\}` is used when connecting via proxied/gateway domains).| |SmartRecruiters|`smartrecruiters/default`|Smartrecruiters [API](https://developers.smartrecruiters.com/reference/apply-api). We automatically authenticate all requests using OAuth and use `https://api.smartrecruiters.com` as the base URL.| |SmartRecruiters|`smartrecruiters/default`|Smartrecruiters [API](https://developers.smartrecruiters.com/reference/apply-api). We automatically authenticate all requests using the credentials supplied by the customer and use `https://api.smartrecruiters.com` as the base URL.| |Factorial|`factorial/api`|Factorial's [API](https://apidoc.factorialhr.com/). We automatically authenticate all requests and use `https://api.factorialhr.com/api` or `https://api.demo.factorial.dev/api` as the base URL, depending on the connected instance.| |Oracle Recruiting Cloud|`oraclerecruiting/rest`|[Oracles's REST API](https://docs.oracle.com/en/cloud/saas/human-resources/24d/farws/rest-endpoints.html). We automatically authenticate all requests and use 'https://\\{company_url\\}' as the base url.| |Oracle Recruiting Cloud|`oraclerecruiting/rest`|[Oracle's REST API](https://docs.oracle.com/en/cloud/saas/human-resources/24d/farws/rest-endpoints.html). We automatically authenticate all requests and use 'https://\\{company_url\\}' as the base url.| |Lever|`lever/v1`|[Lever's v1 API](https://hire.lever.co/developer/documentation). We automatically authenticate all requests using the partner credentials which have been configured in the Lever tool settings (this uses Kombo's partner credentials by default).| |iCIMS|`icims/default`|[iCIMS Default API](https://developer-community.icims.com/). We automatically authenticate all requests and use `https://api.icims.com/customers/\\{customer_id\\}` as the base url.| |Recruitee|`recruitee/default`|The [Recruitee API](https://api.recruitee.com/docs/index.html). We automatically authenticate all requests and use `https://api.recruitee.com/c/\\{company_id\\}` as the base URL.| |RecruiterFlow|`recruiterflow/v1`|RecruiterFlow API [docs](https://docs.recruiterflow.com/). We automatically authenticate all requests using the RF-Api-Key header and use `https://api.recruiterflow.com` as the base URL.| |Greenhouse|`greenhouse/harvest`|Greenhouse [Harvest API](https://developers.greenhouse.io/harvest.html). We automatically authenticate all requests using the API key and use `https://harvest.greenhouse.io/v1` as the base URL.| |Greenhouse Job Board|`greenhousejobboard/boards-api`|[Greenhouse Job Board API](https://developers.greenhouse.io/job-board). We automatically authenticate all requests and use 'https://boards-api.greenhouse.io/v1/boards/\\{job_board_token\\}' as the base URL. Optionally, you can provide a custom job_board_token to use a different job board.| |Teamtailor|`teamtailor/v1`|Teamtailor's [JSON-API](https://docs.teamtailor.com/). We authenticate all request with the Teamtailor API key and use the base URL `https://api.teamtailor.com/v1`.| |Teamtailor Job Boards|`teamtailorjobboards/direct-apply`|Teamtailor's [Job Board Direct Apply API](https://partner.teamtailor.com/job_boards/direct_apply/#direct-apply). We automatically authenticate all requests and use `https://5qbn6o9x4h.execute-api.eu-west-1.amazonaws.com/production` as the base URL. All requests are automatically signed with HMAC-SHA256 signature.| |Ashby|`ashby/v1`|Ashby's [V1 API](https://developers.ashbyhq.com/reference/introduction). We automatically authenticate all requests with the provided credentials and use `https://api.ashbyhq.com` as the base URL. Please note that Ashby uses an RPC-style API. Please check [the Ashby API documentation](https://developers.ashbyhq.com/reference/introduction) for details on how to use it.| |CEGID TalentSoft FrontOffice|`talentsoft/v2`|Cegid Talentsoft Recruiting FrontOffice [API](https://developers.cegid.com/api-details). We automatically authenticate all requests using the provided credentials and use `https://\\{domain\\}/api/v2` as the base URL.| |CEGID TalentSoft Customer|`talentsoftcustomer/v1`|Cegid Talentsoft Recruiting FrontOffice API: [API Documentation](https://developers.cegid.com/api-details#api=cegid-talentsoft-recruiting-frontoffice) We automatically authenticate all requests and use `https://\\{customer_subdomain\\}.talent-soft.com/api/v1` as the base URL.| |Talention|`talention/v1`|Talention's API. We automatically authenticate all requests and use `https://\\{api_domain\\}/tms/\\{account_id\\}/external/api/1.0` as the base URL. Documentation is provided privately by Talention. Contact Kombo support for assistance with specific endpoints.| |Onlyfy|`onlyfy/v1`|Onlyfy's [Public v1 REST API](https://onlyfy.io/doc/v1#section/Introduction). We automatically authenticate all requests using the `apikey` header and use `https://api.prescreenapp.io/v1` as the base URL.| |Personio|`personio/recruiting`|Personio's [Recruiting API](https://developer.personio.de/reference/get_company-employees). We automatically authenticate all requests using the Recruiting access token and use `https://api.personio.de/v1/recruiting` as the base URL.| |Personio|`personio/recruitingV2`|Personio's [V2 Recruiting API](https://developer.personio.de/reference/get_v2-recruiting-applications). We automatically authenticate all requests using the Recruiting access token, send the `Beta` header and use `https://api.personio.de/v2/recruiting` as the base URL.| |Personio|`personio/jobboard`|API endpoints exposed on Personio's public job board pages ([currently just the XML feed](https://developer.personio.de/reference/get_xml)). We automatically use the right `https://\\{company\\}.jobs.personio.de` base URL.| |UKG Pro|`ukgpro/recruting`|[UKG Pro's Recruiting API](https://developer.ukg.com/hcm/reference/retrieveapplications). We automatically authenticate all requests and use `https://\\{hostname\\}/talent/recruiting/v2/\\{tenantalias\\}/api` as the base URL.| |UKG Pro|`ukgpro/default`|[UKG Pro's HRIS API](https://developer.ukg.com/hcm/reference/get_personnel-v1-person-details). We automatically authenticate all requests and use `https://\\{hostname\\}` as the base URL.| |UKG Ready|`ukgready/api`|UKG Ready [API](https://secure.saashr.com/ta/docs/rest/public/). We automatically authenticate all requests using the provided credentials and use `https://\\{api_domain\\}` as the base URL.| |UKG Ready|`ukgready/api`|UKG Ready [API](https://secure.saashr.com/ta/docs/rest/public/). We automatically authenticate all requests using the provided credentials and use `https://\\{api_domain\\}` as the base URL.| |ADP Workforce Now|`adpworkforcenow/default`|[ADP Workforce Now API v2](https://developers.adp.com/build/api-explorer/hcm-offrg-wfn). We automatically authenticate all requests and use the correct subdomain.| |Taleo|`taleo/soap`|[Taleo's API](https://docs.oracle.com/en/cloud/saas/taleo-enterprise/23b/otwsu/c-taleoapi.html). We automatically authenticate all requests and use 'https://\\{your-subdomain\\}.taleo.net/enterprise/soap' as base URL.| |rexx systems|`rexx/default`|Rexx's HRIS export API. There is only one endpoint: `Get /`| |AFAS Software|`afas/api`|AFAS' [API](https://connect.afas.nl/rest/get). We automatically authenticate all requests and use `https://\\{domain\\}/ProfitRestServices` as the base URL.| |BambooHR|`bamboohr/v1`|BambooHR's [API](https://documentation.bamboohr.com/reference/get-employee). We automatically authenticate all requests using the customer credentials `https://api.bamboohr.com/api/gateway.php/\\{subdomain\\}/v1` as the base URL.| |Bullhorn|`bullhorn/default`|[Bullhorn's API](https://bullhorn.github.io/rest-api-docs/index.html). We automatically use the right `https://rest.bullhornstaffing.com/rest-services/\\{corpToken\\}` base URL.| |Workable|`workable/v1`|Workable's [API](https://workable.readme.io/reference/generate-an-access-token). We automatically authenticate all requests using the client ID and secret and use `https://\\{subdomain\\}.\\{environment\\}.com/spi/v3` as the base URL.| |PayFit|`payfitcustomer/api`|PayFit [Partner API](https://developers.payfit.io/reference). We automatically authenticate all requests using the provided API key and use `https://partner-api.payfit.com` as the base URL.| |PayFit|`payfitpartner/partner-api`|PayFit [Partner API](https://developers.payfit.io/reference). We automatically authenticate all requests using the OAuth access token and use `https://partner-api.payfit.com` as the base URL.| |Jobvite|`jobvite/api`|We automatically authenticate all requests and use 'https://api.jobvite.com/api/v2' as the base URL.| |Employment Hero|`employmenthero/default`|EmploymentHero [API](https://developer.employmenthero.com/api-references/#icon-book-open-introduction). We automatically authenticate all requests using the credentials supplied by the customer and use `https://api.employmenthero.com/api` as the base URL.| |Fountain|`fountain/v2`|Fountain's [Hire API](https://developer.fountain.com/reference/get_v2-applicants). We automatically authenticate all requests and use `https://api.fountain.com/v2` as the base URL.| |Fourth|`fourth/uk-employee`|Fourth [UK Employee API](https://developer.fourth.com/en-gb/docs/uk-employee-api/reference) We automatically authenticate all requests and use `https://api.fourth.com/hr/organisations/\\{organisation_id\\}/` as the base URL. We also enforce the required query params for all requests.| |Kenjo|`kenjo/api`|Kenjo's [API](https://kenjo.readme.io/reference/generate-the-api-key). We automatically authenticate all requests using the API key and use `https://api.kenjo.io/` as the base URL.| |HeavenHR|`heavenhr/v2`|[HeavenHR API](https://api.heavenhr.com/). We automatically authenticate all requests using the provided credentials and use `https://api.heavenhr.com/api/v2` as the base URL.| |HiBob|`hibob/v1`|[HibBob's v1 API](https://apidocs.hibob.com/reference/get_people). We automatically authenticate all requests using the service user credentials (or, for old integrations, the API key) and use `https://api.hibob.com/v1` as the base URL.| |HiBob|`hibob/hire`|[HiBob's Hire API](https://apidocs.hibob.com/docs/how-to-integrate-with-ats-hire-api). We automatically authenticate all requests using the hire service user credentials. The base URL is configured during the integration setup.| |Softgarden|`softgarden/frontend-v3`|[Softgarden's Frontend API v3](https://dev.softgarden.de/frontend-v3/. We automatically authenticate all requests and use 'https://api.softgarden.io/api/rest' as base URL.| |Softgarden|`softgarden/apply-api`|[Softgarden's Apply API](https://dev.softgarden.de/apply-api/). We automatically authenticate all requests and use 'https://jobdb.softgarden.de/jobdb/public' as base URL.| |Cezanne HR|`cezannehr/dataservice`|[CezanneHR's v7 dataservice API](https://api.cezannehr.com/).We automatically authenticate all requests and use the base URL `https://subdomain.cezanneondemand.com/cezanneondemand/v7/dataservice.svc`| |Microsoft Entra ID|`entraid/v1`|[AzureAD's API](https://learn.microsoft.com/en-us/graph/api/resources/identity-network-access-overview?view=graph-rest-1.0). We automatically authenticate all requests.| |Microsoft Azure AD|`azuread/v1`|[AzureAD's API](https://learn.microsoft.com/en-us/graph/api/resources/identity-network-access-overview?view=graph-rest-1.0). We automatically authenticate all requests.| |Google Workspace|`googleworkspace/people`|[Googles's API](https://developers.google.com/people/api/rest). We automatically authenticate all requests and use 'https://people.googleapis.com' as the base URL.| |Google Workspace|`googleworkspace/admin`|[Googles's API](https://developers.google.com/admin-sdk/directory/reference/rest). We automatically authenticate all requests and use 'https://admin.googleapis.com' as the base URL.| |Nmbrs|`nmbrs/soap`|[Nmbrs SOAP API](https://api.nmbrs.nl/soap/v3/). We automatically authenticate all requests and use `https://api.nmbrs.nl/soap/v3/` as the base URL. Set `data` to your raw XML string (the content that will be placed inside the `\\` tag). Use `/` as your `path`, as we will always send requests to `https://api.nmbrs.nl/soap/v3/\\{service_name\\}.asmx`. Set your `method` to `POST`. You need to specify the `api_options` object and set `service_name` to the name of the service you want to call. Available services include `EmployeeService` and `CompanyService`.| |Pinpoint|`pinpoint/v1`|Pinpoint's [JSON:API](https://developers.pinpointhq.com/docs). We automatically authenticate all requests using the `X-API-KEY` header and use `https://\\{subdomain\\}.pinpointhq.com/api/v1` as the base URL.| |d.vinci|`dvinci/rest-api`|The [DVinci REST API](https://static.dvinci-easy.com/files/d.vinci%20rest-api.html). All requests are authenticated by Kombo and use `https://\\{dvinci_domain\\}/restApi/` as the base URL.| |d.vinci|`dvinci/apply-api`|The [DVinci Apply API](https://static.dvinci-easy.com/files/d.vinci%20application-apply-api.html). All requests are authenticated by Kombo and use `https://\\{dvinci_domain\\}/p/\\{portal_path\\}/` as the base URL.| |d.vinci admin|`dvinciadmin/rest-api`|[DVinci REST API](https://static.dvinci-easy.com/files/d.vinci%20rest-api.html).| |d.vinci admin|`dvinciadmin/odata-api`|[DVinci ODATA API](https://dvinci.freshdesk.com/en/support/solutions/articles/75000059523-odata-reporting-api).| |JOIN|`join/v2`|Join's [V2 API](https://docs.join.com/reference/getting-started). We automatically authenticate all requests and use `https://api.join.com/v2` as the base URL.| |Deel|`deel/api`|Deel's [API](https://developer.deel.com/reference/). We automatically authenticate all requests using the provided credentials and use `https://\\{api_domain\\}/rest` as the base URL.| |Remote|`remotecom/default`|Remote's [API](https://remote.com/resources/api/getting-started). We automatically authenticate all requests using provided credentials.| |IRIS Cascade|`iriscascade/v2`|IRIS Cascade HR [API](https://swagger.hrapi.co.uk/). We automatically authenticate all requests using the provided credentials and use `https://api.iris.co.uk/hr/v2` as the base URL.| |Okta|`okta/v1`|[Okta's API](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApiServiceIntegrations/). We automatically authenticate all request ans use 'https://\\/api/v1' as the base URL.| |Sage HR|`sagehr/api`|Sage HR's [API](https://developer.sage.com/hr/reference/api-ref). We automatically authenticate all requests and use `https://\\{subdomain\\}.sage.hr/api` as the base URL.| |Sage People|`sagepeople/salesforce-rest-api`|Sage People is built on Salesforce's [API](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_what_is_rest_api.htm). We automatically authenticate all requests and use `https://\\{customer_name\\}.my.salesforce.com/` as the base URL.| |Humaans|`humaans/api`|Humaans' [API](https://docs.humaans.io/api/). We automatically authenticate all requests using the API key and use `https://app.humaans.io/api` as the base URL.| |TRAFFIT|`traffit/v2`|Traffit's [v2 API](https://api.traffit.com). We authenticate all requests with the Traffit API key and use the base URL `https://yourdomain.traffit.com/api/integration/v2`.| |eRecruiter|`erecruiter/api`|[eRecruiter's API](https://api.erecruiter.net/swagger/ui/index). We automatically authenticate all requests and use `https://\\{domain\\}/Api` as the base URL.| |Eurécia|`eurecia/api`|Eurécia [REST API](https://api.eurecia.com/eurecia/fw/swagger/index.html#/) We automatically authenticate all requests and use `https://\\{domain\\}/eurecia/rest` as the base URL.| |Abacus Umantis|`abacusumantis/v1`|[Umantis API v1](https://recruitingapp-91005709.umantis.com/api/v1/swagger-ui). We automatically authenticate all requests and use `https://\\{subdomain\\}.umantis.com/api/v1` as the base URL.| |Haufe Umantis|`umantis/v1`|[Umantis API v1](https://recruitingapp-91005709.umantis.com/api/v1/swagger-ui). We automatically authenticate all requests and use `https://\\{subdomain\\}.umantis.com/api/v1` as the base URL.| |Jobylon|`jobylon/push`|The [Jobylon Push API](https://developer.jobylon.com/push-api-and-webhooks/). We automatically authenticate all requests and use `https://\\{subdomain\\}.jobylon.com/p1` as the base URL.| |Jobylon|`jobylon/feed`|The [Jobylon Feed API](https://developer.jobylon.com/feed-api/). We automatically authenticate all requests and use `https://\\{subdomain\\}.jobylon.com/feeds/\\{job_hash\\}` as the base URL.| |Oracle HCM|`oraclehcm/api`|Oracle HCM Cloud [REST API](https://docs.oracle.com/en/cloud/saas/human-resources/24d/farws/index.html). We automatically authenticate all requests and use `https://\\{domain\\}/` as the base URL, where domain is your Oracle Cloud domain.| |Taleez|`taleez/0`|[Taleez's API](https://api.taleez.com/swagger-ui/index.html). We automatically authenticate all requests and use `https://api.taleez.com/0` as the base URL.| |HR WORKS|`hrworks/v2`|HRWorks's v2 [API](https://developers.hrworks.de/2.0/endpoints). We automatically authenticate all requests using the customer credentials.| |Abacus|`abacus/api`|Abacus [REST API](https://apihub.abacus.ch/). We automatically authenticate all requests and use `https://\\{\\{abacusUrl\\}\\}/api/entity/v1/mandants/\\{\\{mandantId\\}\\}` as the base URL.| |Zoho Recruit|`zohorecruit/v2`|Zoho Recruit's [V2 API](https://www.zoho.com/recruit/developer-guide/apiv2/modules-api.html). We automatically authenticate all requests and use `https://recruit.\\{domain\\}/recruit/v2` as the base URL.| |AlexisHR|`alexishr/v1`|[AlexisHR's v1 API](https://docs.alexishr.com/) We automatically authenticate all requests and use `https://\\{subdomain\\}.alexishr.com` as base URL.| |Simployer|`simployer/v1`|[AlexisHR's v1 API](https://docs.alexishr.com/) We automatically authenticate all requests and use `https://\\{subdomain\\}.alexishr.com` as base URL.| |Eploy|`eploy/api`|Eploy's [API](https://www.eploy.com/resources/developers/api-documentation/). We automatically authenticate all requests and use `https://\\{subdomain\\}.eploy.net/api` as the base URL.| |JobDiva|`jobdiva/api`|We automatically authenticate all requests and use `https://api.jobdiva.com` as the base URL.| |Visma Peple|`peple/hrm`|[Visma Payroll Reporting API](https://api.analytics1.hrm.visma.net/docs/openapi.html). We automatically authenticate all requests using the client credentials and use 'https://api.analytics1.hrm.visma.net' as the base URL.| |Visma YouServe|`youserve/learning`|Visma YouServe [Learning API](https://youserve-domain-api.github.io/SwaggerUI/learning.html). We automatically authenticate all requests using OAuth 2.0 with the provided credentials and use `https://api.youserve.nl/learning/v1.0` as the base URL.| |Dayforce|`dayforce/V1`|[Dayforce's API](https://developers.dayforce.com/Build/Home.aspx). We automatically authenticate all requests and use `\\{\\{baseUrl\\}\\}/Api/\\{\\{clientNamespace\\}\\}/V1` as the base URL| |Hansalog|`hansalog/vision`|Hansalog's [Vision API](https://hansalog-vision.document360.io/docs/). We automatically authenticate all requests and use `https://\\{subdomain\\}.hansalog-cloud.de/vision` as the base URL.| |Lattice|`lattice/passthrough`|Lattice's [API](https://developers.lattice.com/v2/docs/base-url-1). We automatically authenticate all requests using OAuth credentials with `https://api.latticehq.com` as the base URL.| |Lattice|`lattice/talent`|Lattice's [Talent API](https://developers.lattice.com/docs/introduction-1). We automatically authenticate all requests using OAuth credentials with `https://api.latticehq.com` as the base URL.| |Paylocity|`paylocity/default`|[Paylocity's Weblink API](https://developer.paylocity.com/integrations/reference/authentication-weblink). We automatically authenticate all requests and use 'https://\\{api|dc1demogw\\}.paylocity.com/' as the base URL.| |Paylocity|`paylocity/next-gen`|[Paylocity's NextGen API](https://developer.paylocity.com/integrations/reference/authentication). We automatically authenticate all requests and use 'https://dc1prodgwext.paylocity.com/' as the base URL.| |Paycor|`paycor/v1`|[Paycors's v1 API](https://developers.paycor.com/explore#section/Getting-Started). We automatically authenticate all requests and use 'https://apis.paycor.com'.| |Paycom|`paycom/v1`|Paycom's REST API. We automatically authenticate all requests using the provided SID and API Token and use `https://api.paycomonline.net/v4/rest/index.php/api/v1` as the base URL.| |Insperity|`insperity/api`|Insperity [APIs](https://developer.insperity.com/) We automatically authenticate all requests and use `https://api.insperity.com` as the base URL. For staging environments, we use `https://apistage.insperity.com`. Note that all requests require the company ID to be specified in the path or body.| |Paychex|`paychex/api`|Paychex [REST API](https://developer.paychex.com/documentation). We automatically authenticate all requests and use `https://api.paychex.com` as the base URL.| |Avature|`avature/custom-api`|Avatures's Custom API. Call `Get /openapi` to retrieve the specific custom API schema. We automatically authenticate all requests and use the instance specific custom API URL as the base URL.| |Apploi|`apploi/rest-api`|The [Apploi API](https://integrate.apploi.com/). We automatically authenticate all requests and use `https://partners.apploi.com/` as the base URL.| |Phenom|`phenom/rest-api`|The [Phenom API](https://developer.phenom.com/). We automatically authenticate all requests and use `https://api-stg.phenompro.com` as the base URL.| |Rippling|`rippling/api`|Rippling's [API](https://developer.rippling.com/documentation). We automatically authenticate all requests and use `https://api.rippling.com/platform/api` or`https://rest.ripplingapis.com` as the base URL.| |Heyrecruit|`heyrecruit/v2`|[Heyrecruit's v2 API](https://documenter.getpostman.com/view/23241256/2s9YysBLcf#47e271ac-47c8-4c75-9cc6-b8c506e9dad6). We automatically authenticate all requests using the client ID and secret and use `https://app.heyrecruit.de/api/v2` as the base URL.| |PeopleHR|`peoplehr/default`|[PeopleHR's API](https://apidocs.peoplehr.com/#). We automatically authenticate all request ans use 'https://api.peoplehr.net' as the base URL.| |JazzHR|`jazzhr/v1`|[JazzHR's v1 API](https://www.resumatorapi.com/v1/#!`).We automatically authenticate all requests and use \"https://api.resumatorapi.com/v1/\" as the base URL.| |Lucca|`lucca/api`|[Luccas's API](https://developers.lucca.fr/api-reference/legacy/introduction). We automatically authenticate all requests and use 'https://\\{account\\}.\\{ilucca|ilucca-demo\\}.\\{region\\}/' as the base URL.| |BITE|`bite/v1`|[Bite's v1 API](https://api.b-ite.io/docs/#/). We automatically authenticate all requests and use 'https://api.b-ite.io/v1' as base URL.| |Zelt|`zelt/partner`|Zelt's [Partner API](https://go.zelt.app/apiv2/swagger). We automatically authenticate all requests using the connected OAuth credentials and use `https://go.zelt.app/apiv2/partner` as the base URL.| |Planday|`planday/api`|Planday's [HR API v1.0](https://openapi.planday.com/api/hr?version=v1.0). We automatically authenticate all requests and use `https://openapi.planday.com` as the base URL.| |Hailey HR|`haileyhr/api`|Hailey HR's [API](https://api.haileyhr.app/docs/index.html). We automatically authenticate all requests using the provided credentials and use `https://api.haileyhr.app` as the base URL.| |Silae|`silae/rest`|[Silae's REST API](https://silae-api.document360.io/docs). We automatically authenticate all requests and use 'https://payroll-api.silae.fr/payroll' as the base URL.| |Mysolution|`mysolution/default`|[Mysolution's API](https://swagger.mysolution.nl/). We automatically authenticate all requests and use the customer's domain as base URL.| |InRecruiting by Zucchetti|`inrecruiting/default`|[inRecruiting's v3 API](https://inrecruiting.intervieweb.it/api-docs/). We automatically authenticate all requests and use the customers domain as base URL| |Connexys By Bullhorn|`connexys/api`|[Connexy's API](https://api.conexsys.com/client/v2/docs/#section/Overview). We automatically authenticate all requests and use `https://\\{connexys_domain\\}/` as the base URL.| |HR4YOU|`hr4you/v2`|[HR4YOU's v2 API](https://apiprodemo.hr4you.org/api2/docs). We automatically authenticate all requests and use the customers provided base URL (e.g., https://`\\{base_url\\}`/ or https://`\\{subdomain\\}.hr4you.org`/).| |Cornerstone OnDemand|`cornerstoneondemand/recruiting`|Cornerstone's [Recruiting API](https://csod.dev/reference/recruiting/). We automatically authenticate all requests using the client ID and secret and use `https://your_domain.csod.com/services/api` as the base URL.| |Zvoove Recruit|`zvooverecruit/jobs`|[Zvoove Recruit's Jobs API](https://api.zvoove.com/docs/). We automatically authenticate all requests using the jobs API key and use 'https://\\{domain\\}/api/public' as base URL.| |Zvoove Recruit|`zvooverecruit/applicants`|[Zvoove Recruit's Applicants API](https://api.zvoove.com/docs/). We automatically authenticate all requests using the applicants API key and use 'https://\\{domain\\}/api/public' as base URL.| |Spark Hire Recruit|`comeet/api`|[Spark Hire Recruit's API.](https://developers.comeet.com/reference/recruiting-api-overview)We automatically authenticate all requests and use `https://api.comeet.com` as the base URL.| |Leapsome|`leapsome/scim`|Leapsome [SCIM API](https://api.leapsome.com/scim/v1/api-docs/). We automatically authenticate all requests using the credentials supplied by the customer and use `https://api.leapsome.com/scim/v1` as the base URL.| |Leapsome|`leapsome/v1`|Leapsome [API](https://api.leapsome.com/v1/api-docs/). We automatically authenticate all requests using the credentials supplied by the customer and use `https://api.leapsome.com/v1` as the base URL.| |Compleet|`compleetpitcher/pitcher`|Compleet's Pitcher API. We automatically authenticate all requests and use the configured base URL.| |Gem|`gem/api`|Gem's [ATS API](https://api.gem.com/ats/v0/reference) We automatically authenticate all requests.| |workforce.com|`workforcecom/api`|Workforce.com [API](https://my.workforce.com/api/v2/documentation). We automatically authenticate all requests using the provided credentials and use `https://my.tanda.co` as the base URL.| |Laura|`laura/api`|We automatically authenticate all requests and use `https://\\{subdomain\\}.rekrytointi.com/api/v1.2` as the base URL.| |Coveto (REST API)|`covetorest/v1`|We automatically use `https://\\{subdomain\\}.coveto.de/public/api/v1` as the base URL. https://demo.coveto.de/swagger-ui/index.html#/| |Coveto (legacy SOAP API)|`coveto/public`|We automatically use `https://\\{subdomain\\}.coveto.de` as the base URL.| |MHR People First|`peoplefirst/v1`|MHR People First [v1 API](https://docs.people-first.com/api/api-docs/api-docs.html). We automatically authenticate all requests using the access token and tenant/environment codes. For default environments, we use `https://\\{tenant_code\\}.people-first.com/api/v1` as the base URL. For non-default environments, we use `https://\\{tenant_code\\}-\\{environment_code\\}.people-first.com/api/v1`.| |SD Worx|`sdworx/default`|SD Worx's [OData API](https://apistaging.cobra.sdworx.com/Resources). We automatically authenticate all requests using the client ID and secret and use `\\{api_url\\}` as the base URL.| |Crelate|`crelate/api`|Crelate [REST API](https://help.crelate.com/en/articles/4120536-crelate-api-developer-guide). We automatically authenticate all requests and use `https://app.crelate.com/api3` as the base URL.| |Absence.io|`absenceio/v2`|Absence.io [API](https://docs.absence.io/). We automatically authenticate all requests and use `https://app.absence.io/api/v2` as the base URL.| |Manatal|`manatal/open-api-v3`|[Manatal's Open API v3](https://developers.manatal.com/reference/getting-started). We automatically authenticate all requests and use `https://api.manatal.com/open/v3` as the base URL.| |Manatal|`manatal/career-page`|Manatal's Career Page API. We use `https://api.manatal.com/open/v3/career-page/\\{client_slug\\}` as the base URL.| |Avionté|`avionte/front-office-v1`|Avionte's API. We automatically authenticate all requests and use `https://api.avionte.com/front-office/v1` as the base URL. Documentation for the BOLD Front Office API: https://developer.avionte.com/reference/get-all-talent-tags| |a3innuva Nómina|`a3innuvanomina/laboral`|a3innuva Nómina API [docs](https://a3developers.wolterskluwer.es/). Requests are automatically authenticated using OAuth access tokens (refreshed when needed). Base URL: `https://a3api.wolterskluwer.es/Laboral/api`.| |DATEV|`datevhr/hr-exports`|DATEV's [hr-exports](https://developer.datev.de/en/product-detail/hr-exports/1.0.0/overview). We automatically authenticate all requests and use `https://hr-exports.api.datev.de/\\{platform|platform-sandbox\\}/v1/clients/\\{client-id\\}` as the base URL.| |DATEV|`datevhr/hr:payrollreports`|DATEV's [hr:payrollreports](https://developer.datev.de/en/product-detail/hr-payrollreports/2.0.0/overview) API. We automatically authenticate all requests and use `https://hr-payrollreports.api.datev.de/\\{platform|platform-sandbox\\}/v1/clients/\\{client-id\\}/` as the base URL.| |DATEV|`datevhr/eau`|DATEV's [eau](https://developer.datev.de/en/product-detail/eau-api/1.0.0/overview) API. We automatically authenticate all requests and use `https://eau.api.datev.de/\\{platform|platform-sandbox\\}/v1/clients/\\{client-id\\}/` as the base URL.| |Sympa|`sympa/api`|Sympa's [API](https://documenter.getpostman.com/view/33639379/2sA3kXG1vX#intro). We automatically authenticate all requests and use `https://api.sympahr.net/api/` as the base URL.| |Breezy HR|`breezyhr/v3`|[BreezyHR's v3 API](https://developer.breezy.hr/reference/overview). We automatically authenticate all requests and use \"https://api.breezy.hr/v3/\" as the base URL.| |Flatchr|`flatchr/api`|Flatchr's [API](https://developers.flatchr.io/docs/getting_started). We automatically authenticate all requests and use `https://api.flatchr.io` as the base URL.| |Flatchr|`flatchr/career`|Flatchr's [Career API](https://developers.flatchr.io/docs/QuickStart/Candidats/Creer_un_candidat). We automatically authenticate all requests and use `https://career.flatchr.io` as the base URL.| |ApplicantStack|`applicantstack/api`|ApplicantStack's [API](https://helpas.payrollservers.info/s/article/API-Integration-Guide). We automatically authenticate all requests and use `https://\\{subdomain\\}.applicantstack.com/api/` as the base URL.| |Visma Raet - Youforce|`youforce/v1.0`|[Youforce's basic v1.0 API](https://vr-api-integration.github.io/youforce-api-documentation/postman_collections.html). We automatically authenticate all requests and use 'https://api.youforce.com' as base URL.| |PeopleXD|`peoplexd/b2b`|PeopleXD's [B2B API](https://documenter.getpostman.com/view/3101638/TzeTHUDu#intro). We automatically authenticate all requests and use `https://api.corehr.com/ws/\\{tenant_id\\}/corehr` or `https://uatapi.corehr.com/ws/\\{tenant_id\\}/corehr` as the base URL.| Please note that the passthrough API endpoints are only meant for edge cases. That's why we only expose them for new integrations after understanding a concrete customer use case. If you have such a use case in mind, please reach out to Kombo.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::GeneralApi.new
+x_integration_id = 'greenhouse:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+tool = 'personio' # String | The ID of the tool whose passthrough API you want to call (e.g., `personio`).
+api = 'personnel' # String | The ID of the passthrough API you want to call (some tools provide multiple). Check the endpoint description for a list of all available APIs.
+opts = {
+ post_passthrough_tool_api_request_body: Kombo::PostPassthroughToolApiRequestBody.new({method: 'GET', path: 'path_example'}) # PostPassthroughToolApiRequestBody | POST /passthrough/:tool/:api Request body
+}
+
+begin
+ # Send passthrough request
+ result = api_instance.post_passthrough_tool_api(x_integration_id, tool, api, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->post_passthrough_tool_api: #{e}"
+end
+```
+
+#### Using the post_passthrough_tool_api_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_passthrough_tool_api_with_http_info(x_integration_id, tool, api, opts)
+
+```ruby
+begin
+ # Send passthrough request
+ data, status_code, headers = api_instance.post_passthrough_tool_api_with_http_info(x_integration_id, tool, api, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->post_passthrough_tool_api_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **tool** | **String** | The ID of the tool whose passthrough API you want to call (e.g., `personio`). | |
+| **api** | **String** | The ID of the passthrough API you want to call (some tools provide multiple). Check the endpoint description for a list of all available APIs. | |
+| **post_passthrough_tool_api_request_body** | [**PostPassthroughToolApiRequestBody**](PostPassthroughToolApiRequestBody.md) | POST /passthrough/:tool/:api Request body | [optional] |
+
+### Return type
+
+[**PostPassthroughToolApiPositiveResponse**](PostPassthroughToolApiPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## put_integrations_integration_id_custom_fields_custom_field_id
+
+> put_integrations_integration_id_custom_fields_custom_field_id(integration_id, custom_field_id, opts)
+
+Put custom field mappings
+
+Updates the mapping of a given custom field. If the custom field is already mapped, it will be updated.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::GeneralApi.new
+integration_id = 'integration_id' # String | The unique ID of the integration where the custom field mapping should be updated
+custom_field_id = 'custom_field_id' # String | The unique ID of the custom field that should be updated
+opts = {
+ put_integrations_integration_id_custom_fields_custom_field_id_request_body: Kombo::PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody.new({integration_field_id: 'integration_field_id_example'}) # PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody | PUT /integrations/:integration_id/custom-fields/:custom_field_id Request body
+}
+
+begin
+ # Put custom field mappings
+ result = api_instance.put_integrations_integration_id_custom_fields_custom_field_id(integration_id, custom_field_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->put_integrations_integration_id_custom_fields_custom_field_id: #{e}"
+end
+```
+
+#### Using the put_integrations_integration_id_custom_fields_custom_field_id_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> put_integrations_integration_id_custom_fields_custom_field_id_with_http_info(integration_id, custom_field_id, opts)
+
+```ruby
+begin
+ # Put custom field mappings
+ data, status_code, headers = api_instance.put_integrations_integration_id_custom_fields_custom_field_id_with_http_info(integration_id, custom_field_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling GeneralApi->put_integrations_integration_id_custom_fields_custom_field_id_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **integration_id** | **String** | The unique ID of the integration where the custom field mapping should be updated | |
+| **custom_field_id** | **String** | The unique ID of the custom field that should be updated | |
+| **put_integrations_integration_id_custom_fields_custom_field_id_request_body** | [**PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody**](PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody.md) | PUT /integrations/:integration_id/custom-fields/:custom_field_id Request body | [optional] |
+
+### Return type
+
+[**PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse**](PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
diff --git a/docs/GetAiApplyApplicationsPositiveResponse.md b/docs/GetAiApplyApplicationsPositiveResponse.md
new file mode 100644
index 0000000..ee9eabb
--- /dev/null
+++ b/docs/GetAiApplyApplicationsPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetAiApplyApplicationsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetAiApplyApplicationsPositiveResponseData**](GetAiApplyApplicationsPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAiApplyApplicationsPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetAiApplyApplicationsPositiveResponseData.md b/docs/GetAiApplyApplicationsPositiveResponseData.md
new file mode 100644
index 0000000..4208849
--- /dev/null
+++ b/docs/GetAiApplyApplicationsPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetAiApplyApplicationsPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **results** | [**Array<GetAiApplyApplicationsPositiveResponseDataResultsInner>**](GetAiApplyApplicationsPositiveResponseDataResultsInner.md) | | |
+| **_next** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAiApplyApplicationsPositiveResponseData.new(
+ results: null,
+ _next: null
+)
+```
+
diff --git a/docs/GetAiApplyApplicationsPositiveResponseDataResultsInner.md b/docs/GetAiApplyApplicationsPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..2137f24
--- /dev/null
+++ b/docs/GetAiApplyApplicationsPositiveResponseDataResultsInner.md
@@ -0,0 +1,26 @@
+# Kombo::GetAiApplyApplicationsPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **job_posting_id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **status** | **String** | | |
+| **created_at** | **Time** | YYYY-MM-DDTHH:mm:ss.sssZ | |
+| **updated_at** | **Time** | YYYY-MM-DDTHH:mm:ss.sssZ | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAiApplyApplicationsPositiveResponseDataResultsInner.new(
+ id: null,
+ job_posting_id: null,
+ status: null,
+ created_at: null,
+ updated_at: null
+)
+```
+
diff --git a/docs/GetAiApplyCareerSitesPositiveResponse.md b/docs/GetAiApplyCareerSitesPositiveResponse.md
new file mode 100644
index 0000000..15d4e7b
--- /dev/null
+++ b/docs/GetAiApplyCareerSitesPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetAiApplyCareerSitesPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetAiApplyCareerSitesPositiveResponseData**](GetAiApplyCareerSitesPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAiApplyCareerSitesPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetAiApplyCareerSitesPositiveResponseData.md b/docs/GetAiApplyCareerSitesPositiveResponseData.md
new file mode 100644
index 0000000..b85945d
--- /dev/null
+++ b/docs/GetAiApplyCareerSitesPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetAiApplyCareerSitesPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **results** | [**Array<PostAiApplyCareerSitesPositiveResponseData>**](PostAiApplyCareerSitesPositiveResponseData.md) | | |
+| **_next** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAiApplyCareerSitesPositiveResponseData.new(
+ results: null,
+ _next: null
+)
+```
+
diff --git a/docs/GetAiApplyPostingsPositiveResponse.md b/docs/GetAiApplyPostingsPositiveResponse.md
new file mode 100644
index 0000000..e48dc1c
--- /dev/null
+++ b/docs/GetAiApplyPostingsPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetAiApplyPostingsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetAiApplyPostingsPositiveResponseData**](GetAiApplyPostingsPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAiApplyPostingsPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetAiApplyPostingsPositiveResponseData.md b/docs/GetAiApplyPostingsPositiveResponseData.md
new file mode 100644
index 0000000..afb48ab
--- /dev/null
+++ b/docs/GetAiApplyPostingsPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetAiApplyPostingsPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **results** | [**Array<GetAiApplyPostingsPositiveResponseDataResultsInner>**](GetAiApplyPostingsPositiveResponseDataResultsInner.md) | | |
+| **_next** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAiApplyPostingsPositiveResponseData.new(
+ results: null,
+ _next: null
+)
+```
+
diff --git a/docs/GetAiApplyPostingsPositiveResponseDataResultsInner.md b/docs/GetAiApplyPostingsPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..dc04927
--- /dev/null
+++ b/docs/GetAiApplyPostingsPositiveResponseDataResultsInner.md
@@ -0,0 +1,34 @@
+# Kombo::GetAiApplyPostingsPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **career_site** | [**GetAiApplyPostingsPositiveResponseDataResultsInnerCareerSite**](GetAiApplyPostingsPositiveResponseDataResultsInnerCareerSite.md) | | |
+| **url** | **String** | | |
+| **job_code** | **String** | | |
+| **created_at** | **Time** | YYYY-MM-DDTHH:mm:ss.sssZ | |
+| **updated_at** | **Time** | YYYY-MM-DDTHH:mm:ss.sssZ | |
+| **archived_at** | **Time** | The date and time the job posting was archived. You can only send applications if the job posting is not archived. | |
+| **archived_reason** | **String** | | |
+| **availability** | **String** | The status of the job posting. You can only send applications if the job posting is \"APPLYABLE\". | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAiApplyPostingsPositiveResponseDataResultsInner.new(
+ id: null,
+ career_site: null,
+ url: null,
+ job_code: null,
+ created_at: null,
+ updated_at: null,
+ archived_at: null,
+ archived_reason: null,
+ availability: null
+)
+```
+
diff --git a/docs/GetAiApplyPostingsPositiveResponseDataResultsInnerCareerSite.md b/docs/GetAiApplyPostingsPositiveResponseDataResultsInnerCareerSite.md
new file mode 100644
index 0000000..d1d15b3
--- /dev/null
+++ b/docs/GetAiApplyPostingsPositiveResponseDataResultsInnerCareerSite.md
@@ -0,0 +1,20 @@
+# Kombo::GetAiApplyPostingsPositiveResponseDataResultsInnerCareerSite
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **label** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAiApplyPostingsPositiveResponseDataResultsInnerCareerSite.new(
+ id: null,
+ label: null
+)
+```
+
diff --git a/docs/GetAiApplyUnifiedApiJobsPositiveResponse.md b/docs/GetAiApplyUnifiedApiJobsPositiveResponse.md
new file mode 100644
index 0000000..2a672a2
--- /dev/null
+++ b/docs/GetAiApplyUnifiedApiJobsPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetAiApplyUnifiedApiJobsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetAiApplyUnifiedApiJobsPositiveResponseData**](GetAiApplyUnifiedApiJobsPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAiApplyUnifiedApiJobsPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetAiApplyUnifiedApiJobsPositiveResponseData.md b/docs/GetAiApplyUnifiedApiJobsPositiveResponseData.md
new file mode 100644
index 0000000..ce90b63
--- /dev/null
+++ b/docs/GetAiApplyUnifiedApiJobsPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetAiApplyUnifiedApiJobsPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **results** | [**Array<GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInner>**](GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInner.md) | | |
+| **_next** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAiApplyUnifiedApiJobsPositiveResponseData.new(
+ results: null,
+ _next: null
+)
+```
+
diff --git a/docs/GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInner.md b/docs/GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..0c8648f
--- /dev/null
+++ b/docs/GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInner.md
@@ -0,0 +1,88 @@
+# Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | | |
+| **name** | **String** | | |
+| **job_code** | **String** | | |
+| **description** | **String** | | |
+| **confidential** | **Boolean** | | |
+| **weekly_hours** | **Float** | | |
+| **category** | **String** | | |
+| **department** | **String** | | |
+| **post_url** | **String** | | |
+| **experience_level** | **String** | | |
+| **salary_amount** | **Float** | | |
+| **salary_amount_from** | **Float** | | |
+| **salary_amount_to** | **Float** | | |
+| **salary_currency** | **String** | | |
+| **custom_fields** | **Object** | | |
+| **integration_fields** | **Array<Object>** | | |
+| **opened_at** | **Time** | | |
+| **closed_at** | **Time** | | |
+| **remote_created_at** | **Time** | | |
+| **remote_updated_at** | **Time** | | |
+| **contact_id** | **String** | | |
+| **remote_data** | **Object** | | |
+| **changed_at** | **Time** | | |
+| **remote_deleted_at** | **Time** | | |
+| **remote_url** | **String** | | |
+| **stages** | **Array<Object>** | | |
+| **screening_questions** | [**Array<GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInner>**](GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInner.md) | | |
+| **job_postings** | **Array<Object>** | | |
+| **hiring_team** | **Array<Object>** | | |
+| **employment_type** | [**GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerEmploymentType**](GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerEmploymentType.md) | | [optional] |
+| **status** | [**GetAtsJobsPositiveResponseDataResultsInnerStatus**](GetAtsJobsPositiveResponseDataResultsInnerStatus.md) | | [optional] |
+| **visibility** | **String** | | |
+| **remote_work_status** | **String** | | |
+| **salary_period** | **String** | | |
+| **location** | [**GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerLocation**](GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerLocation.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInner.new(
+ id: null,
+ remote_id: null,
+ name: null,
+ job_code: null,
+ description: null,
+ confidential: null,
+ weekly_hours: null,
+ category: null,
+ department: null,
+ post_url: null,
+ experience_level: null,
+ salary_amount: null,
+ salary_amount_from: null,
+ salary_amount_to: null,
+ salary_currency: null,
+ custom_fields: null,
+ integration_fields: null,
+ opened_at: null,
+ closed_at: null,
+ remote_created_at: null,
+ remote_updated_at: null,
+ contact_id: null,
+ remote_data: null,
+ changed_at: null,
+ remote_deleted_at: null,
+ remote_url: null,
+ stages: null,
+ screening_questions: null,
+ job_postings: null,
+ hiring_team: null,
+ employment_type: null,
+ status: null,
+ visibility: null,
+ remote_work_status: null,
+ salary_period: null,
+ location: null
+)
+```
+
diff --git a/docs/GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerEmploymentType.md b/docs/GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerEmploymentType.md
new file mode 100644
index 0000000..484a8b3
--- /dev/null
+++ b/docs/GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerEmploymentType.md
@@ -0,0 +1,15 @@
+# Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerEmploymentType
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerEmploymentType.new()
+```
+
diff --git a/docs/GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerLocation.md b/docs/GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerLocation.md
new file mode 100644
index 0000000..b8a7edb
--- /dev/null
+++ b/docs/GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerLocation.md
@@ -0,0 +1,30 @@
+# Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerLocation
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **city** | **String** | | [optional] |
+| **country** | **String** | Contains the ISO2 country code if possible. If not, it contains the original value. | [optional] |
+| **raw** | **String** | If we have address data, this is filled with the raw address string. | [optional] |
+| **state** | **String** | | [optional] |
+| **street_1** | **String** | If we can parse the address data, this field contains the first part of the street information. | [optional] |
+| **street_2** | **String** | | [optional] |
+| **zip_code** | **String** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerLocation.new(
+ city: null,
+ country: null,
+ raw: null,
+ state: null,
+ street_1: null,
+ street_2: null,
+ zip_code: null
+)
+```
+
diff --git a/docs/GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInner.md b/docs/GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInner.md
new file mode 100644
index 0000000..3d72d75
--- /dev/null
+++ b/docs/GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInner.md
@@ -0,0 +1,36 @@
+# Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | | |
+| **remote_id** | **String** | | |
+| **title** | **String** | | |
+| **description** | **String** | | |
+| **format** | [**GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormat**](GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormat.md) | | [optional] |
+| **category** | **String** | | |
+| **index** | **Integer** | | [optional] |
+| **required** | **Boolean** | | |
+| **precondition_question_id** | **String** | | [optional] |
+| **precondition_options** | [**GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions**](GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInner.new(
+ id: null,
+ remote_id: null,
+ title: null,
+ description: null,
+ format: null,
+ category: null,
+ index: null,
+ required: null,
+ precondition_question_id: null,
+ precondition_options: null
+)
+```
+
diff --git a/docs/GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions.md b/docs/GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions.md
new file mode 100644
index 0000000..6f9ce0a
--- /dev/null
+++ b/docs/GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions.md
@@ -0,0 +1,15 @@
+# Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAiApplyUnifiedApiJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions.new()
+```
+
diff --git a/docs/GetAssessmentOrdersOpenPositiveResponse.md b/docs/GetAssessmentOrdersOpenPositiveResponse.md
new file mode 100644
index 0000000..1f69142
--- /dev/null
+++ b/docs/GetAssessmentOrdersOpenPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetAssessmentOrdersOpenPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetAssessmentOrdersOpenPositiveResponseData**](GetAssessmentOrdersOpenPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAssessmentOrdersOpenPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetAssessmentOrdersOpenPositiveResponseData.md b/docs/GetAssessmentOrdersOpenPositiveResponseData.md
new file mode 100644
index 0000000..5f782f4
--- /dev/null
+++ b/docs/GetAssessmentOrdersOpenPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetAssessmentOrdersOpenPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | | |
+| **results** | [**Array<GetAssessmentOrdersOpenPositiveResponseDataResultsInner>**](GetAssessmentOrdersOpenPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAssessmentOrdersOpenPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInner.md b/docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..29bae87
--- /dev/null
+++ b/docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInner.md
@@ -0,0 +1,26 @@
+# Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The unique identifier of the assessment order. | |
+| **package_id** | **String** | The identifier of the assessment package. | |
+| **candidate** | [**GetAssessmentOrdersOpenPositiveResponseDataResultsInnerCandidate**](GetAssessmentOrdersOpenPositiveResponseDataResultsInnerCandidate.md) | | |
+| **application** | [**GetAssessmentOrdersOpenPositiveResponseDataResultsInnerApplication**](GetAssessmentOrdersOpenPositiveResponseDataResultsInnerApplication.md) | | |
+| **job** | [**GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJob**](GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJob.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInner.new(
+ id: null,
+ package_id: null,
+ candidate: null,
+ application: null,
+ job: null
+)
+```
+
diff --git a/docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInnerApplication.md b/docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInnerApplication.md
new file mode 100644
index 0000000..27968a2
--- /dev/null
+++ b/docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInnerApplication.md
@@ -0,0 +1,18 @@
+# Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerApplication
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **remote_id** | **String** | The application's identifier in the integrated system. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerApplication.new(
+ remote_id: null
+)
+```
+
diff --git a/docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInnerCandidate.md b/docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInnerCandidate.md
new file mode 100644
index 0000000..cfb00ff
--- /dev/null
+++ b/docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInnerCandidate.md
@@ -0,0 +1,26 @@
+# Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerCandidate
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **email** | **String** | The candidate's email address. | |
+| **first_name** | **String** | The candidate's first name. | [optional] |
+| **last_name** | **String** | The candidate's last name. | [optional] |
+| **phone** | **String** | The candidate's phone number. | [optional] |
+| **remote_id** | **String** | The candidate's identifier in the integrated system. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerCandidate.new(
+ email: null,
+ first_name: null,
+ last_name: null,
+ phone: null,
+ remote_id: null
+)
+```
+
diff --git a/docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJob.md b/docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJob.md
new file mode 100644
index 0000000..cea9b48
--- /dev/null
+++ b/docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJob.md
@@ -0,0 +1,24 @@
+# Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJob
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **remote_id** | **String** | The job's identifier in the integrated system. | [optional] |
+| **name** | **String** | The job title. | [optional] |
+| **location** | [**GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobLocation**](GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobLocation.md) | | [optional] |
+| **hiring_team** | [**Array<GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobHiringTeamInner>**](GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobHiringTeamInner.md) | The hiring team allows you to sync users into your system who can access the job and its applications. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJob.new(
+ remote_id: null,
+ name: null,
+ location: null,
+ hiring_team: null
+)
+```
+
diff --git a/docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobHiringTeamInner.md b/docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobHiringTeamInner.md
new file mode 100644
index 0000000..0262a92
--- /dev/null
+++ b/docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobHiringTeamInner.md
@@ -0,0 +1,26 @@
+# Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobHiringTeamInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **remote_id** | **String** | The team member's identifier in the integrated system. | |
+| **email** | **String** | The team member's email address. | |
+| **first_name** | **String** | The team member's first name. | |
+| **last_name** | **String** | The team member's last name. | |
+| **hiring_team_roles** | **Array<String>** | Array of the roles of the user for this specific job. Currently only `RECRUITER` and `HIRING_MANAGER` are mapped into our unified schema. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobHiringTeamInner.new(
+ remote_id: null,
+ email: null,
+ first_name: null,
+ last_name: null,
+ hiring_team_roles: null
+)
+```
+
diff --git a/docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobLocation.md b/docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobLocation.md
new file mode 100644
index 0000000..32f5457
--- /dev/null
+++ b/docs/GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobLocation.md
@@ -0,0 +1,30 @@
+# Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobLocation
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **city** | **String** | | [optional] |
+| **country** | **String** | Contains the ISO2 country code if possible. If not, it contains the original value. | [optional] |
+| **raw** | **String** | If we have address data, this is filled with the raw address string. | [optional] |
+| **state** | **String** | | [optional] |
+| **street_1** | **String** | If we can parse the address data, this field contains the first part of the street information. | [optional] |
+| **street_2** | **String** | | [optional] |
+| **zip_code** | **String** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAssessmentOrdersOpenPositiveResponseDataResultsInnerJobLocation.new(
+ city: null,
+ country: null,
+ raw: null,
+ state: null,
+ street_1: null,
+ street_2: null,
+ zip_code: null
+)
+```
+
diff --git a/docs/GetAssessmentPackagesPositiveResponse.md b/docs/GetAssessmentPackagesPositiveResponse.md
new file mode 100644
index 0000000..01fadf7
--- /dev/null
+++ b/docs/GetAssessmentPackagesPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetAssessmentPackagesPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetAssessmentPackagesPositiveResponseData**](GetAssessmentPackagesPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAssessmentPackagesPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetAssessmentPackagesPositiveResponseData.md b/docs/GetAssessmentPackagesPositiveResponseData.md
new file mode 100644
index 0000000..efe7e0a
--- /dev/null
+++ b/docs/GetAssessmentPackagesPositiveResponseData.md
@@ -0,0 +1,18 @@
+# Kombo::GetAssessmentPackagesPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **packages** | [**Array<GetAssessmentPackagesPositiveResponseDataPackagesInner>**](GetAssessmentPackagesPositiveResponseDataPackagesInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAssessmentPackagesPositiveResponseData.new(
+ packages: null
+)
+```
+
diff --git a/docs/GetAssessmentPackagesPositiveResponseDataPackagesInner.md b/docs/GetAssessmentPackagesPositiveResponseDataPackagesInner.md
new file mode 100644
index 0000000..b419dba
--- /dev/null
+++ b/docs/GetAssessmentPackagesPositiveResponseDataPackagesInner.md
@@ -0,0 +1,26 @@
+# Kombo::GetAssessmentPackagesPositiveResponseDataPackagesInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | | |
+| **name** | **String** | | |
+| **description** | **String** | | |
+| **updated_at** | **Time** | YYYY-MM-DDTHH:mm:ss.sssZ | |
+| **type** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAssessmentPackagesPositiveResponseDataPackagesInner.new(
+ id: null,
+ name: null,
+ description: null,
+ updated_at: null,
+ type: null
+)
+```
+
diff --git a/docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponse.md b/docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponse.md
new file mode 100644
index 0000000..4dcde77
--- /dev/null
+++ b/docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetAtsActionsAtsAddApplicationAttachmentPositiveResponseData**](GetAtsActionsAtsAddApplicationAttachmentPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseData.md b/docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseData.md
new file mode 100644
index 0000000..6266c8b
--- /dev/null
+++ b/docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseData.md
@@ -0,0 +1,18 @@
+# Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **attachment_restrictions** | [**GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictions**](GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictions.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseData.new(
+ attachment_restrictions: null
+)
+```
+
diff --git a/docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictions.md b/docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictions.md
new file mode 100644
index 0000000..cba8b8c
--- /dev/null
+++ b/docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictions.md
@@ -0,0 +1,18 @@
+# Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictions
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **types** | [**GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypes**](GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypes.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictions.new(
+ types: null
+)
+```
+
diff --git a/docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypes.md b/docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypes.md
new file mode 100644
index 0000000..6eee9d2
--- /dev/null
+++ b/docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypes.md
@@ -0,0 +1,22 @@
+# Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypes
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **cv** | [**GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCV**](GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCV.md) | | |
+| **cover_letter** | [**GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER**](GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER.md) | | |
+| **other** | [**GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesOTHER**](GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesOTHER.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypes.new(
+ cv: null,
+ cover_letter: null,
+ other: null
+)
+```
+
diff --git a/docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER.md b/docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER.md
new file mode 100644
index 0000000..4af4776
--- /dev/null
+++ b/docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER.md
@@ -0,0 +1,22 @@
+# Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **is_supported** | **Boolean** | | |
+| **max_file_size_bytes** | **Float** | The maximum file size in bytes. If null, we don't have information about the maximum file size. | |
+| **accepted_mime_types** | **Array<String>** | The accepted mime types. If null, we don't have information about the accepted mime types. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER.new(
+ is_supported: null,
+ max_file_size_bytes: null,
+ accepted_mime_types: null
+)
+```
+
diff --git a/docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCV.md b/docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCV.md
new file mode 100644
index 0000000..2d49586
--- /dev/null
+++ b/docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCV.md
@@ -0,0 +1,22 @@
+# Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCV
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **is_supported** | **Boolean** | | |
+| **max_file_size_bytes** | **Float** | The maximum file size in bytes. If null, we don't have information about the maximum file size. | |
+| **accepted_mime_types** | **Array<String>** | The accepted mime types. If null, we don't have information about the accepted mime types. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCV.new(
+ is_supported: null,
+ max_file_size_bytes: null,
+ accepted_mime_types: null
+)
+```
+
diff --git a/docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCVAnyOf.md b/docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCVAnyOf.md
new file mode 100644
index 0000000..839ae57
--- /dev/null
+++ b/docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCVAnyOf.md
@@ -0,0 +1,22 @@
+# Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCVAnyOf
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **is_supported** | **Boolean** | | |
+| **max_file_size_bytes** | **Float** | The maximum file size in bytes. If null, we don't have information about the maximum file size. | |
+| **accepted_mime_types** | **Array<String>** | The accepted mime types. If null, we don't have information about the accepted mime types. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesCVAnyOf.new(
+ is_supported: null,
+ max_file_size_bytes: null,
+ accepted_mime_types: null
+)
+```
+
diff --git a/docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesOTHER.md b/docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesOTHER.md
new file mode 100644
index 0000000..cca4668
--- /dev/null
+++ b/docs/GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesOTHER.md
@@ -0,0 +1,22 @@
+# Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesOTHER
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **is_supported** | **Boolean** | | |
+| **max_file_size_bytes** | **Float** | The maximum file size in bytes. If null, we don't have information about the maximum file size. | |
+| **accepted_mime_types** | **Array<String>** | The accepted mime types. If null, we don't have information about the accepted mime types. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsActionsAtsAddApplicationAttachmentPositiveResponseDataAttachmentRestrictionsTypesOTHER.new(
+ is_supported: null,
+ max_file_size_bytes: null,
+ accepted_mime_types: null
+)
+```
+
diff --git a/docs/GetAtsActionsAtsAddCandidateAttachmentPositiveResponse.md b/docs/GetAtsActionsAtsAddCandidateAttachmentPositiveResponse.md
new file mode 100644
index 0000000..e0c664b
--- /dev/null
+++ b/docs/GetAtsActionsAtsAddCandidateAttachmentPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsActionsAtsAddCandidateAttachmentPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetAtsActionsAtsAddApplicationAttachmentPositiveResponseData**](GetAtsActionsAtsAddApplicationAttachmentPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsActionsAtsAddCandidateAttachmentPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetAtsActionsAtsCreateApplicationPositiveResponse.md b/docs/GetAtsActionsAtsCreateApplicationPositiveResponse.md
new file mode 100644
index 0000000..cb81bb8
--- /dev/null
+++ b/docs/GetAtsActionsAtsCreateApplicationPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsActionsAtsCreateApplicationPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetAtsActionsAtsCreateCandidatePositiveResponseData**](GetAtsActionsAtsCreateCandidatePositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsActionsAtsCreateApplicationPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetAtsActionsAtsCreateCandidatePositiveResponse.md b/docs/GetAtsActionsAtsCreateCandidatePositiveResponse.md
new file mode 100644
index 0000000..7e5240a
--- /dev/null
+++ b/docs/GetAtsActionsAtsCreateCandidatePositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsActionsAtsCreateCandidatePositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetAtsActionsAtsCreateCandidatePositiveResponseData**](GetAtsActionsAtsCreateCandidatePositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsActionsAtsCreateCandidatePositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetAtsActionsAtsCreateCandidatePositiveResponseData.md b/docs/GetAtsActionsAtsCreateCandidatePositiveResponseData.md
new file mode 100644
index 0000000..147301a
--- /dev/null
+++ b/docs/GetAtsActionsAtsCreateCandidatePositiveResponseData.md
@@ -0,0 +1,18 @@
+# Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **attachment_restrictions** | [**GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictions**](GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictions.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseData.new(
+ attachment_restrictions: null
+)
+```
+
diff --git a/docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictions.md b/docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictions.md
new file mode 100644
index 0000000..9682391
--- /dev/null
+++ b/docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictions.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictions
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **total_size_bytes** | **Float** | The maximum total size of all attachments. If null, we don' have information about the total size of all attachments. Make sure to consider the total request size limits of Kombo. | |
+| **types** | [**GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypes**](GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypes.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictions.new(
+ total_size_bytes: null,
+ types: null
+)
+```
+
diff --git a/docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypes.md b/docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypes.md
new file mode 100644
index 0000000..53f1d1a
--- /dev/null
+++ b/docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypes.md
@@ -0,0 +1,22 @@
+# Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypes
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **cv** | [**GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCV**](GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCV.md) | | |
+| **cover_letter** | [**GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER**](GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER.md) | | |
+| **other** | [**GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesOTHER**](GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesOTHER.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypes.new(
+ cv: null,
+ cover_letter: null,
+ other: null
+)
+```
+
diff --git a/docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER.md b/docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER.md
new file mode 100644
index 0000000..1c82397
--- /dev/null
+++ b/docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER.md
@@ -0,0 +1,26 @@
+# Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **is_supported** | **Boolean** | | |
+| **min_amount** | **Float** | The minimum amount of attachments. If null, we don' have information about the minimum amount. | |
+| **max_amount** | **Float** | The maximum amount of attachments. If null, we don' have information about the maximum amount. | |
+| **max_file_size_bytes** | **Float** | The maximum file size in bytes. If null, we don't have information about the maximum file size. | |
+| **accepted_mime_types** | **Array<String>** | The accepted mime types. If null, we don't have information about the accepted mime types. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCOVERLETTER.new(
+ is_supported: null,
+ min_amount: null,
+ max_amount: null,
+ max_file_size_bytes: null,
+ accepted_mime_types: null
+)
+```
+
diff --git a/docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCV.md b/docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCV.md
new file mode 100644
index 0000000..52aeb2f
--- /dev/null
+++ b/docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCV.md
@@ -0,0 +1,26 @@
+# Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCV
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **is_supported** | **Boolean** | | |
+| **min_amount** | **Float** | The minimum amount of attachments. If null, we don' have information about the minimum amount. | |
+| **max_amount** | **Float** | The maximum amount of attachments. If null, we don' have information about the maximum amount. | |
+| **max_file_size_bytes** | **Float** | The maximum file size in bytes. If null, we don't have information about the maximum file size. | |
+| **accepted_mime_types** | **Array<String>** | The accepted mime types. If null, we don't have information about the accepted mime types. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCV.new(
+ is_supported: null,
+ min_amount: null,
+ max_amount: null,
+ max_file_size_bytes: null,
+ accepted_mime_types: null
+)
+```
+
diff --git a/docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf.md b/docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf.md
new file mode 100644
index 0000000..a6e518f
--- /dev/null
+++ b/docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf.md
@@ -0,0 +1,26 @@
+# Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **is_supported** | **Boolean** | | |
+| **min_amount** | **Float** | The minimum amount of attachments. If null, we don' have information about the minimum amount. | |
+| **max_amount** | **Float** | The maximum amount of attachments. If null, we don' have information about the maximum amount. | |
+| **max_file_size_bytes** | **Float** | The maximum file size in bytes. If null, we don't have information about the maximum file size. | |
+| **accepted_mime_types** | **Array<String>** | The accepted mime types. If null, we don't have information about the accepted mime types. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf.new(
+ is_supported: null,
+ min_amount: null,
+ max_amount: null,
+ max_file_size_bytes: null,
+ accepted_mime_types: null
+)
+```
+
diff --git a/docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf1.md b/docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf1.md
new file mode 100644
index 0000000..271ae5f
--- /dev/null
+++ b/docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf1.md
@@ -0,0 +1,18 @@
+# Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf1
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **is_supported** | **Boolean** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesCVAnyOf1.new(
+ is_supported: null
+)
+```
+
diff --git a/docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesOTHER.md b/docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesOTHER.md
new file mode 100644
index 0000000..7e65dcd
--- /dev/null
+++ b/docs/GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesOTHER.md
@@ -0,0 +1,26 @@
+# Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesOTHER
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **is_supported** | **Boolean** | | |
+| **min_amount** | **Float** | The minimum amount of attachments. If null, we don' have information about the minimum amount. | |
+| **max_amount** | **Float** | The maximum amount of attachments. If null, we don' have information about the maximum amount. | |
+| **max_file_size_bytes** | **Float** | The maximum file size in bytes. If null, we don't have information about the maximum file size. | |
+| **accepted_mime_types** | **Array<String>** | The accepted mime types. If null, we don't have information about the accepted mime types. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsActionsAtsCreateCandidatePositiveResponseDataAttachmentRestrictionsTypesOTHER.new(
+ is_supported: null,
+ min_amount: null,
+ max_amount: null,
+ max_file_size_bytes: null,
+ accepted_mime_types: null
+)
+```
+
diff --git a/docs/GetAtsApplicationStagesParameterIncludeDeleted.md b/docs/GetAtsApplicationStagesParameterIncludeDeleted.md
new file mode 100644
index 0000000..73d31f1
--- /dev/null
+++ b/docs/GetAtsApplicationStagesParameterIncludeDeleted.md
@@ -0,0 +1,15 @@
+# Kombo::GetAtsApplicationStagesParameterIncludeDeleted
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationStagesParameterIncludeDeleted.new()
+```
+
diff --git a/docs/GetAtsApplicationStagesPositiveResponse.md b/docs/GetAtsApplicationStagesPositiveResponse.md
new file mode 100644
index 0000000..974fca8
--- /dev/null
+++ b/docs/GetAtsApplicationStagesPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsApplicationStagesPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetAtsApplicationStagesPositiveResponseData**](GetAtsApplicationStagesPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationStagesPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetAtsApplicationStagesPositiveResponseData.md b/docs/GetAtsApplicationStagesPositiveResponseData.md
new file mode 100644
index 0000000..5a6b919
--- /dev/null
+++ b/docs/GetAtsApplicationStagesPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsApplicationStagesPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetAtsApplicationStagesPositiveResponseDataResultsInner>**](GetAtsApplicationStagesPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationStagesPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetAtsApplicationStagesPositiveResponseDataResultsInner.md b/docs/GetAtsApplicationStagesPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..46c8ab7
--- /dev/null
+++ b/docs/GetAtsApplicationStagesPositiveResponseDataResultsInner.md
@@ -0,0 +1,28 @@
+# Kombo::GetAtsApplicationStagesPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **name** | **String** | The application stage name. For example, \"Initial Screening\". | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationStagesPositiveResponseDataResultsInner.new(
+ id: null,
+ remote_id: null,
+ name: null,
+ remote_data: null,
+ changed_at: null,
+ remote_deleted_at: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsApplicationIdAttachmentsPositiveResponse.md b/docs/GetAtsApplicationsApplicationIdAttachmentsPositiveResponse.md
new file mode 100644
index 0000000..a45cef5
--- /dev/null
+++ b/docs/GetAtsApplicationsApplicationIdAttachmentsPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::GetAtsApplicationsApplicationIdAttachmentsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetAtsApplicationsApplicationIdAttachmentsPositiveResponseData**](GetAtsApplicationsApplicationIdAttachmentsPositiveResponseData.md) | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsApplicationIdAttachmentsPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsApplicationIdAttachmentsPositiveResponseData.md b/docs/GetAtsApplicationsApplicationIdAttachmentsPositiveResponseData.md
new file mode 100644
index 0000000..1efbcbb
--- /dev/null
+++ b/docs/GetAtsApplicationsApplicationIdAttachmentsPositiveResponseData.md
@@ -0,0 +1,18 @@
+# Kombo::GetAtsApplicationsApplicationIdAttachmentsPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **results** | [**Array<GetAtsApplicationsApplicationIdAttachmentsPositiveResponseDataResultsInner>**](GetAtsApplicationsApplicationIdAttachmentsPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsApplicationIdAttachmentsPositiveResponseData.new(
+ results: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsApplicationIdAttachmentsPositiveResponseDataResultsInner.md b/docs/GetAtsApplicationsApplicationIdAttachmentsPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..8a28f5f
--- /dev/null
+++ b/docs/GetAtsApplicationsApplicationIdAttachmentsPositiveResponseDataResultsInner.md
@@ -0,0 +1,32 @@
+# Kombo::GetAtsApplicationsApplicationIdAttachmentsPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **type** | **String** | | |
+| **id** | **String** | | |
+| **remote_id** | **String** | | |
+| **data_url** | **String** | | |
+| **file_name** | **String** | | |
+| **content_type** | **String** | | |
+| **remote_created_at** | **Time** | The date when the attachment was created. | |
+| **remote_updated_at** | **Time** | The date when the attachment was last updated. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsApplicationIdAttachmentsPositiveResponseDataResultsInner.new(
+ type: null,
+ id: null,
+ remote_id: null,
+ data_url: null,
+ file_name: null,
+ content_type: null,
+ remote_created_at: null,
+ remote_updated_at: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsParameterIncludeDeleted.md b/docs/GetAtsApplicationsParameterIncludeDeleted.md
new file mode 100644
index 0000000..a5beba0
--- /dev/null
+++ b/docs/GetAtsApplicationsParameterIncludeDeleted.md
@@ -0,0 +1,15 @@
+# Kombo::GetAtsApplicationsParameterIncludeDeleted
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsParameterIncludeDeleted.new()
+```
+
diff --git a/docs/GetAtsApplicationsParameterOutcome.md b/docs/GetAtsApplicationsParameterOutcome.md
new file mode 100644
index 0000000..20b599f
--- /dev/null
+++ b/docs/GetAtsApplicationsParameterOutcome.md
@@ -0,0 +1,15 @@
+# Kombo::GetAtsApplicationsParameterOutcome
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsParameterOutcome.new()
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponse.md b/docs/GetAtsApplicationsPositiveResponse.md
new file mode 100644
index 0000000..7b8fd3d
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsApplicationsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetAtsApplicationsPositiveResponseData**](GetAtsApplicationsPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseData.md b/docs/GetAtsApplicationsPositiveResponseData.md
new file mode 100644
index 0000000..3f9e17b
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsApplicationsPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetAtsApplicationsPositiveResponseDataResultsInner>**](GetAtsApplicationsPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInner.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..33cae48
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInner.md
@@ -0,0 +1,60 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **outcome** | **String** | Parsed status of the application. If Kombo identifies that the application was accepted and the candidate hired, it will be `HIRED`. If the application was rejected or the candidate declined, it will be `DECLINED`. If the application is still in process, it will be `PENDING`. Kombo will always try to deliver this information as reliably as possible. | |
+| **rejection_reason_name** | **String** | Reason for the rejection of the candidate. | |
+| **rejected_at** | **Time** | The time that the application was rejected. | |
+| **current_stage_id** | **String** | ID of the current application stage | |
+| **job_id** | **String** | The Kombo ID of the job which the candidate applied to. The ID can be used to retrieve the job from the `get jobs` endpoint. | |
+| **candidate_id** | **String** | The Kombo ID of the candidate who applied to the job. The ID can be used to retrieve the candidate from the `get candidates` endpoint. | |
+| **screening_question_answers** | [**Array<GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInner>**](GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInner.md) | A list of answers to screening questions. The screening answer type `FILE` is currently unsupported. | [optional] |
+| **custom_fields** | **Hash<String, Object>** | A key-value store of fields not covered by the schema. [Read more](/custom-fields) | |
+| **integration_fields** | [**Array<GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner>**](GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner.md) | An array of selected passthrough integration fields. [Read more](/integration-fields) | |
+| **remote_url** | **String** | URL to the application in the source ATS system. When embedding this in your system, please consider that not for all ATS a dedicated application URL is available, so you might need to fall back to the candidate URL. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+| **remote_created_at** | **Time** | The date and time the object was created in the remote system. | |
+| **remote_updated_at** | **Time** | A timestamp retrieved from the remote system, describing when the resource was last updated. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+| **candidate** | [**GetAtsApplicationsPositiveResponseDataResultsInnerCandidate**](GetAtsApplicationsPositiveResponseDataResultsInnerCandidate.md) | | |
+| **current_stage** | [**GetAtsApplicationsPositiveResponseDataResultsInnerCurrentStage**](GetAtsApplicationsPositiveResponseDataResultsInnerCurrentStage.md) | | |
+| **job** | [**GetAtsApplicationsPositiveResponseDataResultsInnerJob**](GetAtsApplicationsPositiveResponseDataResultsInnerJob.md) | | |
+| **interviews** | [**Array<GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInner>**](GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInner.md) | | |
+| **offers** | [**Array<GetAtsApplicationsPositiveResponseDataResultsInnerOffersInner>**](GetAtsApplicationsPositiveResponseDataResultsInnerOffersInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInner.new(
+ id: null,
+ remote_id: null,
+ outcome: null,
+ rejection_reason_name: null,
+ rejected_at: null,
+ current_stage_id: null,
+ job_id: null,
+ candidate_id: null,
+ screening_question_answers: null,
+ custom_fields: null,
+ integration_fields: null,
+ remote_url: null,
+ changed_at: null,
+ remote_deleted_at: null,
+ remote_created_at: null,
+ remote_updated_at: null,
+ remote_data: null,
+ candidate: null,
+ current_stage: null,
+ job: null,
+ interviews: null,
+ offers: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerCandidate.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerCandidate.md
new file mode 100644
index 0000000..461652a
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerCandidate.md
@@ -0,0 +1,36 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidate
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **first_name** | **String** | First name of the candidate. | |
+| **last_name** | **String** | Last name of the candidate. | |
+| **email_addresses** | [**Array<GetAtsApplicationsPositiveResponseDataResultsInnerCandidateEmailAddressesInner>**](GetAtsApplicationsPositiveResponseDataResultsInnerCandidateEmailAddressesInner.md) | A list of email addresses of the candidate with an optional type. If an email address is invalid, it will be filtered out. | [optional] |
+| **phone_numbers** | [**Array<GetAtsApplicationsPositiveResponseDataResultsInnerCandidatePhoneNumbersInner>**](GetAtsApplicationsPositiveResponseDataResultsInnerCandidatePhoneNumbersInner.md) | A list of phone numbers of the candidate. | [optional] |
+| **social_media** | [**Array<GetAtsApplicationsPositiveResponseDataResultsInnerCandidateSocialMediaInner>**](GetAtsApplicationsPositiveResponseDataResultsInnerCandidateSocialMediaInner.md) | List of social media accounts of the candidate. | [optional] |
+| **source** | **String** | The hiring source of the candidate. If you're a job board or recruiting service, you can use this to validate which candidates applied through your service and ensure that the correct referral compensation is paid out. | |
+| **remote_url** | **String** | URL to the candidate profile in the source ATS system. When embedding this in your system, please consider that not for all ATS a dedicated candidate profile URL is available, so you might need to fall back to the application URL. | |
+| **tags** | [**Array<GetAtsApplicationsPositiveResponseDataResultsInnerCandidateTagsInner>**](GetAtsApplicationsPositiveResponseDataResultsInnerCandidateTagsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidate.new(
+ id: null,
+ remote_id: null,
+ first_name: null,
+ last_name: null,
+ email_addresses: null,
+ phone_numbers: null,
+ social_media: null,
+ source: null,
+ remote_url: null,
+ tags: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerCandidateEmailAddressesInner.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerCandidateEmailAddressesInner.md
new file mode 100644
index 0000000..0d1ec9c
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerCandidateEmailAddressesInner.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidateEmailAddressesInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **email_address** | **String** | | [optional] |
+| **type** | **String** | Kombo exposes type information through this field. If we don't get any information from the tool, we will set this to `null`. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidateEmailAddressesInner.new(
+ email_address: null,
+ type: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerCandidatePhoneNumbersInner.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerCandidatePhoneNumbersInner.md
new file mode 100644
index 0000000..a54ef75
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerCandidatePhoneNumbersInner.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidatePhoneNumbersInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **phone_number** | **String** | | |
+| **type** | **String** | Kombo exposes type information through this field. If we don't get any information from the tool, we will set this to `null`. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidatePhoneNumbersInner.new(
+ phone_number: null,
+ type: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerCandidateSocialMediaInner.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerCandidateSocialMediaInner.md
new file mode 100644
index 0000000..eb3f56a
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerCandidateSocialMediaInner.md
@@ -0,0 +1,22 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidateSocialMediaInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **link** | **String** | | [optional] |
+| **type** | **String** | | [optional] |
+| **username** | **String** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidateSocialMediaInner.new(
+ link: null,
+ type: null,
+ username: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerCandidateTagsInner.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerCandidateTagsInner.md
new file mode 100644
index 0000000..8a2d165
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerCandidateTagsInner.md
@@ -0,0 +1,22 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidateTagsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **name** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCandidateTagsInner.new(
+ id: null,
+ remote_id: null,
+ name: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerCurrentStage.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerCurrentStage.md
new file mode 100644
index 0000000..40f2f53
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerCurrentStage.md
@@ -0,0 +1,24 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCurrentStage
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **name** | **String** | The application stage name. For example, \"Initial Screening\". | |
+| **index** | **Integer** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerCurrentStage.new(
+ id: null,
+ remote_id: null,
+ name: null,
+ index: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInner.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInner.md
new file mode 100644
index 0000000..a78c9d3
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInner.md
@@ -0,0 +1,30 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **title** | **String** | The title of the interview. | |
+| **starting_at** | **Time** | The start time of the interview. | |
+| **ending_at** | **Time** | The end time of the interview. | |
+| **location** | [**GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInnerLocation**](GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInnerLocation.md) | | [optional] |
+| **canceled** | **Boolean** | Whether the interview was canceled or not. If we have no information, this field will be `null`. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInner.new(
+ id: null,
+ remote_id: null,
+ title: null,
+ starting_at: null,
+ ending_at: null,
+ location: null,
+ canceled: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInnerLocation.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInnerLocation.md
new file mode 100644
index 0000000..03c1517
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInnerLocation.md
@@ -0,0 +1,30 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInnerLocation
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **city** | **String** | | [optional] |
+| **country** | **String** | Contains the ISO2 country code if possible. If not, it contains the original value. | [optional] |
+| **raw** | **String** | If we have address data, this is filled with the raw address string. | [optional] |
+| **state** | **String** | | [optional] |
+| **street_1** | **String** | If we can parse the address data, this field contains the first part of the street information. | [optional] |
+| **street_2** | **String** | | [optional] |
+| **zip_code** | **String** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInnerLocation.new(
+ city: null,
+ country: null,
+ raw: null,
+ state: null,
+ street_1: null,
+ street_2: null,
+ zip_code: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerJob.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerJob.md
new file mode 100644
index 0000000..b5a03f8
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerJob.md
@@ -0,0 +1,22 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerJob
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **name** | **String** | Title of the job. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerJob.new(
+ id: null,
+ remote_id: null,
+ name: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerOffersInner.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerOffersInner.md
new file mode 100644
index 0000000..da568f1
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerOffersInner.md
@@ -0,0 +1,22 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerOffersInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **status** | **String** | The offer’s current status. The usual flow of statuses is as follows: `DRAFT` -> `APPROVED` -> `SENT` -> `ACCEPTED` or `DECLINED`. Please note that not all systems will expose all statuses. For example, most systems do not include the `APPROVED` status - `ACCEPTED`: The offer was accepted by the candidate. - `DECLINED`: The offer was declined by the candidate. - `SENT`: The offer was sent to the candidate. - `APPROVED`: The draft was approved. - `DRAFT`: The offer is a draft and has not yet been sent to the candidate. - `ABANDONED`: The offer has expired or is no longer valid and should not be considered. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerOffersInner.new(
+ id: null,
+ remote_id: null,
+ status: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInner.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInner.md
new file mode 100644
index 0000000..f4a46c4
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInner.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **answer** | [**GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Answer**](GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Answer.md) | | |
+| **question** | [**GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Question**](GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Question.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInner.new(
+ answer: null,
+ question: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf.md
new file mode 100644
index 0000000..95a45ba
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **answer** | [**GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfAnswer**](GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfAnswer.md) | | |
+| **question** | [**GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfQuestion**](GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfQuestion.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf.new(
+ answer: null,
+ question: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1.md
new file mode 100644
index 0000000..802ba9f
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **answer** | [**GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Answer**](GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Answer.md) | | |
+| **question** | [**GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Question**](GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Question.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1.new(
+ answer: null,
+ question: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Answer.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Answer.md
new file mode 100644
index 0000000..0896474
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Answer.md
@@ -0,0 +1,18 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Answer
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **choice** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Answer.new(
+ choice: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Question.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Question.md
new file mode 100644
index 0000000..ee96089
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Question.md
@@ -0,0 +1,22 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Question
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **remote_id** | **String** | | |
+| **title** | **String** | | |
+| **type** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf1Question.new(
+ remote_id: null,
+ title: null,
+ type: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2.md
new file mode 100644
index 0000000..fb925d4
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **answer** | [**GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Answer**](GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Answer.md) | | |
+| **question** | [**GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Question**](GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Question.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2.new(
+ answer: null,
+ question: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Answer.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Answer.md
new file mode 100644
index 0000000..b57a760
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Answer.md
@@ -0,0 +1,18 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Answer
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **choices** | **Array<String>** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Answer.new(
+ choices: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Question.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Question.md
new file mode 100644
index 0000000..f554d11
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Question.md
@@ -0,0 +1,22 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Question
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **remote_id** | **String** | | |
+| **title** | **String** | | |
+| **type** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf2Question.new(
+ remote_id: null,
+ title: null,
+ type: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3.md
new file mode 100644
index 0000000..eff2cb5
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **answer** | [**GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Answer**](GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Answer.md) | | |
+| **question** | [**GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Question**](GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Question.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3.new(
+ answer: null,
+ question: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Answer.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Answer.md
new file mode 100644
index 0000000..c3aafad
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Answer.md
@@ -0,0 +1,18 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Answer
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **checked** | **Boolean** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Answer.new(
+ checked: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Question.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Question.md
new file mode 100644
index 0000000..1b5ce59
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Question.md
@@ -0,0 +1,22 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Question
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **remote_id** | **String** | | |
+| **title** | **String** | | |
+| **type** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf3Question.new(
+ remote_id: null,
+ title: null,
+ type: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4.md
new file mode 100644
index 0000000..58dc94b
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **answer** | [**GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Answer**](GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Answer.md) | | |
+| **question** | [**GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Question**](GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Question.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4.new(
+ answer: null,
+ question: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Answer.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Answer.md
new file mode 100644
index 0000000..71cdac4
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Answer.md
@@ -0,0 +1,18 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Answer
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **number** | **Float** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Answer.new(
+ number: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Question.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Question.md
new file mode 100644
index 0000000..7954a62
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Question.md
@@ -0,0 +1,22 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Question
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **remote_id** | **String** | | |
+| **title** | **String** | | |
+| **type** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf4Question.new(
+ remote_id: null,
+ title: null,
+ type: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5.md
new file mode 100644
index 0000000..f9841eb
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **answer** | [**GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Answer**](GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Answer.md) | | |
+| **question** | [**GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Question**](GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Question.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5.new(
+ answer: null,
+ question: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Answer.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Answer.md
new file mode 100644
index 0000000..2e11818
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Answer.md
@@ -0,0 +1,18 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Answer
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **date** | **Time** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Answer.new(
+ date: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Question.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Question.md
new file mode 100644
index 0000000..b1f4091
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Question.md
@@ -0,0 +1,22 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Question
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **remote_id** | **String** | | |
+| **title** | **String** | | |
+| **type** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf5Question.new(
+ remote_id: null,
+ title: null,
+ type: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6.md
new file mode 100644
index 0000000..4a08799
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **answer** | [**GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Answer**](GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Answer.md) | | |
+| **question** | [**GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Question**](GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Question.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6.new(
+ answer: null,
+ question: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Answer.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Answer.md
new file mode 100644
index 0000000..440179c
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Answer.md
@@ -0,0 +1,18 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Answer
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **raw** | [**Null**](Null.md) | We pass the original question data along so you can handle it. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Answer.new(
+ raw: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Question.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Question.md
new file mode 100644
index 0000000..4ba9c19
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Question.md
@@ -0,0 +1,22 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Question
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **remote_id** | **String** | | |
+| **title** | **String** | | |
+| **type** | **String** | When we're not able to map a specific question type yet, we will return this type. Every `UNKNOWN` question will also be parsed and unified by us at some point. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOf6Question.new(
+ remote_id: null,
+ title: null,
+ type: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfAnswer.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfAnswer.md
new file mode 100644
index 0000000..2da3294
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfAnswer.md
@@ -0,0 +1,18 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfAnswer
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **content** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfAnswer.new(
+ content: null
+)
+```
+
diff --git a/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfQuestion.md b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfQuestion.md
new file mode 100644
index 0000000..2f875d2
--- /dev/null
+++ b/docs/GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfQuestion.md
@@ -0,0 +1,22 @@
+# Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfQuestion
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **remote_id** | **String** | | |
+| **title** | **String** | | |
+| **type** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInnerAnyOfQuestion.new(
+ remote_id: null,
+ title: null,
+ type: null
+)
+```
+
diff --git a/docs/GetAtsCandidatesCandidateIdAttachmentsPositiveResponse.md b/docs/GetAtsCandidatesCandidateIdAttachmentsPositiveResponse.md
new file mode 100644
index 0000000..0ac9181
--- /dev/null
+++ b/docs/GetAtsCandidatesCandidateIdAttachmentsPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::GetAtsCandidatesCandidateIdAttachmentsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetAtsCandidatesCandidateIdAttachmentsPositiveResponseData**](GetAtsCandidatesCandidateIdAttachmentsPositiveResponseData.md) | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsCandidatesCandidateIdAttachmentsPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/GetAtsCandidatesCandidateIdAttachmentsPositiveResponseData.md b/docs/GetAtsCandidatesCandidateIdAttachmentsPositiveResponseData.md
new file mode 100644
index 0000000..5cc9aa9
--- /dev/null
+++ b/docs/GetAtsCandidatesCandidateIdAttachmentsPositiveResponseData.md
@@ -0,0 +1,18 @@
+# Kombo::GetAtsCandidatesCandidateIdAttachmentsPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **results** | [**Array<GetAtsCandidatesCandidateIdAttachmentsPositiveResponseDataResultsInner>**](GetAtsCandidatesCandidateIdAttachmentsPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsCandidatesCandidateIdAttachmentsPositiveResponseData.new(
+ results: null
+)
+```
+
diff --git a/docs/GetAtsCandidatesCandidateIdAttachmentsPositiveResponseDataResultsInner.md b/docs/GetAtsCandidatesCandidateIdAttachmentsPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..d9c39f4
--- /dev/null
+++ b/docs/GetAtsCandidatesCandidateIdAttachmentsPositiveResponseDataResultsInner.md
@@ -0,0 +1,36 @@
+# Kombo::GetAtsCandidatesCandidateIdAttachmentsPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | | |
+| **application_id** | **String** | The Kombo ID of the application this attachment belongs to. When this is null, the attachment is not specific to any application but the candidate. | |
+| **candidate_id** | **String** | The Kombo ID of the candidate this attachment belongs to. | |
+| **type** | **String** | | |
+| **remote_id** | **String** | | |
+| **data_url** | **String** | | |
+| **file_name** | **String** | | |
+| **content_type** | **String** | The MIME type of the attachment. | |
+| **remote_created_at** | **Time** | The date when the attachment was created. | |
+| **remote_updated_at** | **Time** | The date when the attachment was last updated. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsCandidatesCandidateIdAttachmentsPositiveResponseDataResultsInner.new(
+ id: null,
+ application_id: null,
+ candidate_id: null,
+ type: null,
+ remote_id: null,
+ data_url: null,
+ file_name: null,
+ content_type: null,
+ remote_created_at: null,
+ remote_updated_at: null
+)
+```
+
diff --git a/docs/GetAtsCandidatesParameterIncludeDeleted.md b/docs/GetAtsCandidatesParameterIncludeDeleted.md
new file mode 100644
index 0000000..e43a269
--- /dev/null
+++ b/docs/GetAtsCandidatesParameterIncludeDeleted.md
@@ -0,0 +1,15 @@
+# Kombo::GetAtsCandidatesParameterIncludeDeleted
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsCandidatesParameterIncludeDeleted.new()
+```
+
diff --git a/docs/GetAtsCandidatesPositiveResponse.md b/docs/GetAtsCandidatesPositiveResponse.md
new file mode 100644
index 0000000..0355e79
--- /dev/null
+++ b/docs/GetAtsCandidatesPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsCandidatesPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetAtsCandidatesPositiveResponseData**](GetAtsCandidatesPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsCandidatesPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetAtsCandidatesPositiveResponseData.md b/docs/GetAtsCandidatesPositiveResponseData.md
new file mode 100644
index 0000000..f86c4f0
--- /dev/null
+++ b/docs/GetAtsCandidatesPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsCandidatesPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetAtsCandidatesPositiveResponseDataResultsInner>**](GetAtsCandidatesPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsCandidatesPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetAtsCandidatesPositiveResponseDataResultsInner.md b/docs/GetAtsCandidatesPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..abb0235
--- /dev/null
+++ b/docs/GetAtsCandidatesPositiveResponseDataResultsInner.md
@@ -0,0 +1,60 @@
+# Kombo::GetAtsCandidatesPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **first_name** | **String** | First name of the candidate. | |
+| **last_name** | **String** | Last name of the candidate. | |
+| **company** | **String** | The current company of the candidate. | |
+| **title** | **String** | The current job title of the candidate. | |
+| **confidential** | **Boolean** | Whether the candidate’s profile is confidential in the ATS. | |
+| **source** | **String** | The hiring source of the candidate. If you're a job board or recruiting service, you can use this to validate which candidates applied through your service and ensure that the correct referral compensation is paid out. | |
+| **phone_numbers** | [**Array<GetAtsApplicationsPositiveResponseDataResultsInnerCandidatePhoneNumbersInner>**](GetAtsApplicationsPositiveResponseDataResultsInnerCandidatePhoneNumbersInner.md) | A list of phone numbers of the candidate. | [optional] |
+| **email_addresses** | [**Array<GetAtsApplicationsPositiveResponseDataResultsInnerCandidateEmailAddressesInner>**](GetAtsApplicationsPositiveResponseDataResultsInnerCandidateEmailAddressesInner.md) | A list of email addresses of the candidate with an optional type. If an email address is invalid, it will be filtered out. | [optional] |
+| **social_media** | [**Array<GetAtsApplicationsPositiveResponseDataResultsInnerCandidateSocialMediaInner>**](GetAtsApplicationsPositiveResponseDataResultsInnerCandidateSocialMediaInner.md) | List of social media accounts of the candidate. | [optional] |
+| **location** | [**GetAtsCandidatesPositiveResponseDataResultsInnerLocation**](GetAtsCandidatesPositiveResponseDataResultsInnerLocation.md) | | [optional] |
+| **custom_fields** | **Hash<String, Object>** | A key-value store of fields not covered by the schema. [Read more](/custom-fields) | |
+| **integration_fields** | [**Array<GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner>**](GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner.md) | An array of selected passthrough integration fields. [Read more](/integration-fields) | |
+| **remote_url** | **String** | URL to the candidate profile in the source ATS system. When embedding this in your system, please consider that not for all ATS a dedicated candidate profile URL is available, so you might need to fall back to the application URL. | |
+| **remote_created_at** | **Time** | The date and time the object was created in the remote system. | |
+| **remote_updated_at** | **Time** | A timestamp retrieved from the remote system, describing when the resource was last updated. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+| **applications** | [**Array<GetAtsCandidatesPositiveResponseDataResultsInnerApplicationsInner>**](GetAtsCandidatesPositiveResponseDataResultsInnerApplicationsInner.md) | | |
+| **tags** | [**Array<GetAtsApplicationsPositiveResponseDataResultsInnerCandidateTagsInner>**](GetAtsApplicationsPositiveResponseDataResultsInnerCandidateTagsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsCandidatesPositiveResponseDataResultsInner.new(
+ id: null,
+ remote_id: null,
+ first_name: null,
+ last_name: null,
+ company: null,
+ title: null,
+ confidential: null,
+ source: null,
+ phone_numbers: null,
+ email_addresses: null,
+ social_media: null,
+ location: null,
+ custom_fields: null,
+ integration_fields: null,
+ remote_url: null,
+ remote_created_at: null,
+ remote_updated_at: null,
+ remote_data: null,
+ changed_at: null,
+ remote_deleted_at: null,
+ applications: null,
+ tags: null
+)
+```
+
diff --git a/docs/GetAtsCandidatesPositiveResponseDataResultsInnerApplicationsInner.md b/docs/GetAtsCandidatesPositiveResponseDataResultsInnerApplicationsInner.md
new file mode 100644
index 0000000..7740876
--- /dev/null
+++ b/docs/GetAtsCandidatesPositiveResponseDataResultsInnerApplicationsInner.md
@@ -0,0 +1,38 @@
+# Kombo::GetAtsCandidatesPositiveResponseDataResultsInnerApplicationsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **outcome** | **String** | Parsed status of the application. If Kombo identifies that the application was accepted and the candidate hired, it will be `HIRED`. If the application was rejected or the candidate declined, it will be `DECLINED`. If the application is still in process, it will be `PENDING`. Kombo will always try to deliver this information as reliably as possible. | |
+| **rejection_reason_name** | **String** | Reason for the rejection of the candidate. | |
+| **rejected_at** | **Time** | The time that the application was rejected. | |
+| **remote_url** | **String** | URL to the application in the source ATS system. When embedding this in your system, please consider that not for all ATS a dedicated application URL is available, so you might need to fall back to the candidate URL. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_created_at** | **Time** | The date and time the object was created in the remote system. | |
+| **remote_updated_at** | **Time** | A timestamp retrieved from the remote system, describing when the resource was last updated. | |
+| **current_stage** | [**GetAtsApplicationsPositiveResponseDataResultsInnerCurrentStage**](GetAtsApplicationsPositiveResponseDataResultsInnerCurrentStage.md) | | |
+| **job** | [**GetAtsApplicationsPositiveResponseDataResultsInnerJob**](GetAtsApplicationsPositiveResponseDataResultsInnerJob.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsCandidatesPositiveResponseDataResultsInnerApplicationsInner.new(
+ id: null,
+ remote_id: null,
+ outcome: null,
+ rejection_reason_name: null,
+ rejected_at: null,
+ remote_url: null,
+ changed_at: null,
+ remote_created_at: null,
+ remote_updated_at: null,
+ current_stage: null,
+ job: null
+)
+```
+
diff --git a/docs/GetAtsCandidatesPositiveResponseDataResultsInnerLocation.md b/docs/GetAtsCandidatesPositiveResponseDataResultsInnerLocation.md
new file mode 100644
index 0000000..1eadac0
--- /dev/null
+++ b/docs/GetAtsCandidatesPositiveResponseDataResultsInnerLocation.md
@@ -0,0 +1,30 @@
+# Kombo::GetAtsCandidatesPositiveResponseDataResultsInnerLocation
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **city** | **String** | | [optional] |
+| **country** | **String** | Contains the ISO2 country code if possible. If not, it contains the original value. | [optional] |
+| **raw** | **String** | If we have address data, this is filled with the raw address string. | [optional] |
+| **state** | **String** | | [optional] |
+| **street_1** | **String** | If we can parse the address data, this field contains the first part of the street information. | [optional] |
+| **street_2** | **String** | | [optional] |
+| **zip_code** | **String** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsCandidatesPositiveResponseDataResultsInnerLocation.new(
+ city: null,
+ country: null,
+ raw: null,
+ state: null,
+ street_1: null,
+ street_2: null,
+ zip_code: null
+)
+```
+
diff --git a/docs/GetAtsInterviewsParameterIncludeDeleted.md b/docs/GetAtsInterviewsParameterIncludeDeleted.md
new file mode 100644
index 0000000..11ca8c9
--- /dev/null
+++ b/docs/GetAtsInterviewsParameterIncludeDeleted.md
@@ -0,0 +1,15 @@
+# Kombo::GetAtsInterviewsParameterIncludeDeleted
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsInterviewsParameterIncludeDeleted.new()
+```
+
diff --git a/docs/GetAtsInterviewsPositiveResponse.md b/docs/GetAtsInterviewsPositiveResponse.md
new file mode 100644
index 0000000..681ebcb
--- /dev/null
+++ b/docs/GetAtsInterviewsPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsInterviewsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetAtsInterviewsPositiveResponseData**](GetAtsInterviewsPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsInterviewsPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetAtsInterviewsPositiveResponseData.md b/docs/GetAtsInterviewsPositiveResponseData.md
new file mode 100644
index 0000000..670b242
--- /dev/null
+++ b/docs/GetAtsInterviewsPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsInterviewsPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetAtsInterviewsPositiveResponseDataResultsInner>**](GetAtsInterviewsPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsInterviewsPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetAtsInterviewsPositiveResponseDataResultsInner.md b/docs/GetAtsInterviewsPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..efa4b1e
--- /dev/null
+++ b/docs/GetAtsInterviewsPositiveResponseDataResultsInner.md
@@ -0,0 +1,48 @@
+# Kombo::GetAtsInterviewsPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **title** | **String** | The title of the interview. | |
+| **starting_at** | **Time** | The start time of the interview. | |
+| **ending_at** | **Time** | The end time of the interview. | |
+| **location** | [**GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInnerLocation**](GetAtsApplicationsPositiveResponseDataResultsInnerInterviewsInnerLocation.md) | | [optional] |
+| **application_id** | **String** | The Kombo ID of the application this interview belongs to. The ID can be used to retrieve the application from the `get applications` endpoint. | |
+| **stage_id** | **String** | If a system specifies to which stage this interview belongs to, this field will be the Kombo ID of the application stage. The ID can be used to retrieve the stage from the `get application stages` endpoint. | |
+| **canceled** | **Boolean** | Whether the interview was canceled or not. If we have no information, this field will be `null`. | |
+| **remote_created_at** | **Time** | The date and time the object was created in the remote system. | |
+| **remote_updated_at** | **Time** | A timestamp retrieved from the remote system, describing when the resource was last updated. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+| **users** | [**Array<GetAtsInterviewsPositiveResponseDataResultsInnerUsersInner>**](GetAtsInterviewsPositiveResponseDataResultsInnerUsersInner.md) | | |
+| **application** | [**GetAtsInterviewsPositiveResponseDataResultsInnerApplication**](GetAtsInterviewsPositiveResponseDataResultsInnerApplication.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsInterviewsPositiveResponseDataResultsInner.new(
+ id: null,
+ remote_id: null,
+ title: null,
+ starting_at: null,
+ ending_at: null,
+ location: null,
+ application_id: null,
+ stage_id: null,
+ canceled: null,
+ remote_created_at: null,
+ remote_updated_at: null,
+ remote_data: null,
+ changed_at: null,
+ remote_deleted_at: null,
+ users: null,
+ application: null
+)
+```
+
diff --git a/docs/GetAtsInterviewsPositiveResponseDataResultsInnerApplication.md b/docs/GetAtsInterviewsPositiveResponseDataResultsInnerApplication.md
new file mode 100644
index 0000000..79ccae4
--- /dev/null
+++ b/docs/GetAtsInterviewsPositiveResponseDataResultsInnerApplication.md
@@ -0,0 +1,28 @@
+# Kombo::GetAtsInterviewsPositiveResponseDataResultsInnerApplication
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **outcome** | **String** | Parsed status of the application. If Kombo identifies that the application was accepted and the candidate hired, it will be `HIRED`. If the application was rejected or the candidate declined, it will be `DECLINED`. If the application is still in process, it will be `PENDING`. Kombo will always try to deliver this information as reliably as possible. | |
+| **rejection_reason_name** | **String** | Reason for the rejection of the candidate. | |
+| **candidate** | [**GetAtsOffersPositiveResponseDataResultsInnerApplicationCandidate**](GetAtsOffersPositiveResponseDataResultsInnerApplicationCandidate.md) | | |
+| **job** | [**GetAtsApplicationsPositiveResponseDataResultsInnerJob**](GetAtsApplicationsPositiveResponseDataResultsInnerJob.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsInterviewsPositiveResponseDataResultsInnerApplication.new(
+ id: null,
+ remote_id: null,
+ outcome: null,
+ rejection_reason_name: null,
+ candidate: null,
+ job: null
+)
+```
+
diff --git a/docs/GetAtsInterviewsPositiveResponseDataResultsInnerUsersInner.md b/docs/GetAtsInterviewsPositiveResponseDataResultsInnerUsersInner.md
new file mode 100644
index 0000000..ed7de61
--- /dev/null
+++ b/docs/GetAtsInterviewsPositiveResponseDataResultsInnerUsersInner.md
@@ -0,0 +1,26 @@
+# Kombo::GetAtsInterviewsPositiveResponseDataResultsInnerUsersInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **first_name** | **String** | First name of the user. | |
+| **last_name** | **String** | Last name of the user. | |
+| **email** | **String** | Email of the user. If the email address is invalid, it will be set to null. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsInterviewsPositiveResponseDataResultsInnerUsersInner.new(
+ id: null,
+ remote_id: null,
+ first_name: null,
+ last_name: null,
+ email: null
+)
+```
+
diff --git a/docs/GetAtsJobsParameterIncludeDeleted.md b/docs/GetAtsJobsParameterIncludeDeleted.md
new file mode 100644
index 0000000..21feb29
--- /dev/null
+++ b/docs/GetAtsJobsParameterIncludeDeleted.md
@@ -0,0 +1,15 @@
+# Kombo::GetAtsJobsParameterIncludeDeleted
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsParameterIncludeDeleted.new()
+```
+
diff --git a/docs/GetAtsJobsParameterStatus.md b/docs/GetAtsJobsParameterStatus.md
new file mode 100644
index 0000000..4a10d18
--- /dev/null
+++ b/docs/GetAtsJobsParameterStatus.md
@@ -0,0 +1,15 @@
+# Kombo::GetAtsJobsParameterStatus
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsParameterStatus.new()
+```
+
diff --git a/docs/GetAtsJobsPositiveResponse.md b/docs/GetAtsJobsPositiveResponse.md
new file mode 100644
index 0000000..12c18c1
--- /dev/null
+++ b/docs/GetAtsJobsPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsJobsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetAtsJobsPositiveResponseData**](GetAtsJobsPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetAtsJobsPositiveResponseData.md b/docs/GetAtsJobsPositiveResponseData.md
new file mode 100644
index 0000000..f1b6d7d
--- /dev/null
+++ b/docs/GetAtsJobsPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsJobsPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetAtsJobsPositiveResponseDataResultsInner>**](GetAtsJobsPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetAtsJobsPositiveResponseDataResultsInner.md b/docs/GetAtsJobsPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..21706a5
--- /dev/null
+++ b/docs/GetAtsJobsPositiveResponseDataResultsInner.md
@@ -0,0 +1,88 @@
+# Kombo::GetAtsJobsPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **name** | **String** | Title of the job. | |
+| **job_code** | **String** | The human readable job code. Some systems expose this as the Requisition Code/ID. | |
+| **description** | **String** | Description of the job. This field is usually returned as HTML. | |
+| **confidential** | **Boolean** | **(⚠️ Deprecated)** It makes more sense to store the visibility of a job in an enum. Therefore, we introduced the `visibility` enum on jobs. | |
+| **weekly_hours** | **Float** | The number of hours per week an employee is expected to work. | |
+| **employment_type** | [**GetAtsJobsPositiveResponseDataResultsInnerEmploymentType**](GetAtsJobsPositiveResponseDataResultsInnerEmploymentType.md) | | [optional] |
+| **status** | [**GetAtsJobsPositiveResponseDataResultsInnerStatus**](GetAtsJobsPositiveResponseDataResultsInnerStatus.md) | | [optional] |
+| **visibility** | [**GetAtsJobsPositiveResponseDataResultsInnerVisibility**](GetAtsJobsPositiveResponseDataResultsInnerVisibility.md) | | [optional] |
+| **category** | **String** | The category of the job (often the job industry). The original string is passed through, for example \"Information Technology\", \"Quality Assurance\", \"Marketing\". | |
+| **department** | **String** | The internal department or team the job belongs to. The original string is passed through, for example \"IT/Operations\", \"Engineering - Platform\", \"Customer Success\". | |
+| **post_url** | **String** | The public job posting URL of the ATS itself. This can be used by external job boards to redirect applicants. | |
+| **experience_level** | **String** | The role's seniority or experience level. The original string is passed through, for example \"Mid-Senior Level\", \"5+ years\", \"Associate\", \"IC3\". | |
+| **remote_work_status** | [**GetAtsJobsPositiveResponseDataResultsInnerRemoteWorkStatus**](GetAtsJobsPositiveResponseDataResultsInnerRemoteWorkStatus.md) | | [optional] |
+| **salary_amount** | **Float** | The salary amount in the given currency. | |
+| **salary_amount_from** | **Float** | The lower bound of the salary range. | |
+| **salary_amount_to** | **Float** | The upper bound of the salary range. | |
+| **salary_currency** | **String** | Salary currency usually returned in [ISO 4217 currency codes](https://www.iso.org/iso-4217-currency-codes.html). | |
+| **salary_period** | [**GetAtsJobsPositiveResponseDataResultsInnerSalaryPeriod**](GetAtsJobsPositiveResponseDataResultsInnerSalaryPeriod.md) | | [optional] |
+| **location** | [**GetAtsJobsPositiveResponseDataResultsInnerLocation**](GetAtsJobsPositiveResponseDataResultsInnerLocation.md) | | [optional] |
+| **custom_fields** | **Hash<String, Object>** | A key-value store of fields not covered by the schema. [Read more](/custom-fields) | |
+| **integration_fields** | [**Array<GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner>**](GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner.md) | An array of selected passthrough integration fields. [Read more](/integration-fields) | |
+| **remote_url** | **String** | URL to the job posting in the source ATS system. | |
+| **opened_at** | **Time** | YYYY-MM-DDTHH:mm:ss.sssZ | |
+| **closed_at** | **Time** | The date the job closed or is scheduled to close. A future value typically indicates the job remains open for applications until that date. Please use the `status` and `visibility` fields to determine if a job can be published. | |
+| **remote_created_at** | **Time** | The date and time the object was created in the remote system. | |
+| **remote_updated_at** | **Time** | A timestamp retrieved from the remote system, describing when the resource was last updated. | |
+| **contact_id** | **String** | **(⚠️ Deprecated)** The user ID of the contact person for this job. We strongly recommend using the new `hiring_team` property instead as it provides more complete and accurate information about the ATS users connected to a job. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+| **stages** | [**Array<GetAtsJobsPositiveResponseDataResultsInnerStagesInner>**](GetAtsJobsPositiveResponseDataResultsInnerStagesInner.md) | Application stages a candidate can be in for this particular job. | |
+| **screening_questions** | [**Array<GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInner>**](GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInner.md) | | |
+| **job_postings** | [**Array<GetAtsJobsPositiveResponseDataResultsInnerJobPostingsInner>**](GetAtsJobsPositiveResponseDataResultsInnerJobPostingsInner.md) | | |
+| **hiring_team** | [**Array<GetAtsJobsPositiveResponseDataResultsInnerHiringTeamInner>**](GetAtsJobsPositiveResponseDataResultsInnerHiringTeamInner.md) | The hiring team allows you to sync users into your system who can access the job and its applications. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsPositiveResponseDataResultsInner.new(
+ id: null,
+ remote_id: null,
+ name: null,
+ job_code: null,
+ description: null,
+ confidential: null,
+ weekly_hours: null,
+ employment_type: null,
+ status: null,
+ visibility: null,
+ category: null,
+ department: null,
+ post_url: null,
+ experience_level: null,
+ remote_work_status: null,
+ salary_amount: null,
+ salary_amount_from: null,
+ salary_amount_to: null,
+ salary_currency: null,
+ salary_period: null,
+ location: null,
+ custom_fields: null,
+ integration_fields: null,
+ remote_url: null,
+ opened_at: null,
+ closed_at: null,
+ remote_created_at: null,
+ remote_updated_at: null,
+ contact_id: null,
+ remote_data: null,
+ changed_at: null,
+ remote_deleted_at: null,
+ stages: null,
+ screening_questions: null,
+ job_postings: null,
+ hiring_team: null
+)
+```
+
diff --git a/docs/GetAtsJobsPositiveResponseDataResultsInnerEmploymentType.md b/docs/GetAtsJobsPositiveResponseDataResultsInnerEmploymentType.md
new file mode 100644
index 0000000..dbe3ef7
--- /dev/null
+++ b/docs/GetAtsJobsPositiveResponseDataResultsInnerEmploymentType.md
@@ -0,0 +1,15 @@
+# Kombo::GetAtsJobsPositiveResponseDataResultsInnerEmploymentType
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsPositiveResponseDataResultsInnerEmploymentType.new()
+```
+
diff --git a/docs/GetAtsJobsPositiveResponseDataResultsInnerHiringTeamInner.md b/docs/GetAtsJobsPositiveResponseDataResultsInnerHiringTeamInner.md
new file mode 100644
index 0000000..1e4cc2f
--- /dev/null
+++ b/docs/GetAtsJobsPositiveResponseDataResultsInnerHiringTeamInner.md
@@ -0,0 +1,28 @@
+# Kombo::GetAtsJobsPositiveResponseDataResultsInnerHiringTeamInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **first_name** | **String** | First name of the user. | |
+| **last_name** | **String** | Last name of the user. | |
+| **email** | **String** | Email of the user. If the email address is invalid, it will be set to null. | [optional] |
+| **hiring_team_roles** | **Array<String>** | Array of the roles of the user for this specific job. Currently only `RECRUITER` and `HIRING_MANAGER` are mapped into our unified schema. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsPositiveResponseDataResultsInnerHiringTeamInner.new(
+ id: null,
+ remote_id: null,
+ first_name: null,
+ last_name: null,
+ email: null,
+ hiring_team_roles: null
+)
+```
+
diff --git a/docs/GetAtsJobsPositiveResponseDataResultsInnerJobPostingsInner.md b/docs/GetAtsJobsPositiveResponseDataResultsInnerJobPostingsInner.md
new file mode 100644
index 0000000..2c4d1b7
--- /dev/null
+++ b/docs/GetAtsJobsPositiveResponseDataResultsInnerJobPostingsInner.md
@@ -0,0 +1,32 @@
+# Kombo::GetAtsJobsPositiveResponseDataResultsInnerJobPostingsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **title** | **String** | The job posting’s title. | |
+| **description_html** | **String** | The job posting’s description in HTML format. | |
+| **status** | **String** | The job posting’s current status. | |
+| **visibility** | **String** | | |
+| **url** | **String** | The public URL to the job posting on the ATS platform. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsPositiveResponseDataResultsInnerJobPostingsInner.new(
+ id: null,
+ remote_id: null,
+ title: null,
+ description_html: null,
+ status: null,
+ visibility: null,
+ url: null,
+ remote_data: null
+)
+```
+
diff --git a/docs/GetAtsJobsPositiveResponseDataResultsInnerLocation.md b/docs/GetAtsJobsPositiveResponseDataResultsInnerLocation.md
new file mode 100644
index 0000000..ec19343
--- /dev/null
+++ b/docs/GetAtsJobsPositiveResponseDataResultsInnerLocation.md
@@ -0,0 +1,30 @@
+# Kombo::GetAtsJobsPositiveResponseDataResultsInnerLocation
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **city** | **String** | | [optional] |
+| **country** | **String** | Contains the ISO2 country code if possible. If not, it contains the original value. | [optional] |
+| **raw** | **String** | If we have address data, this is filled with the raw address string. | [optional] |
+| **state** | **String** | | [optional] |
+| **street_1** | **String** | If we can parse the address data, this field contains the first part of the street information. | [optional] |
+| **street_2** | **String** | | [optional] |
+| **zip_code** | **String** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsPositiveResponseDataResultsInnerLocation.new(
+ city: null,
+ country: null,
+ raw: null,
+ state: null,
+ street_1: null,
+ street_2: null,
+ zip_code: null
+)
+```
+
diff --git a/docs/GetAtsJobsPositiveResponseDataResultsInnerRemoteWorkStatus.md b/docs/GetAtsJobsPositiveResponseDataResultsInnerRemoteWorkStatus.md
new file mode 100644
index 0000000..1e9409a
--- /dev/null
+++ b/docs/GetAtsJobsPositiveResponseDataResultsInnerRemoteWorkStatus.md
@@ -0,0 +1,15 @@
+# Kombo::GetAtsJobsPositiveResponseDataResultsInnerRemoteWorkStatus
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsPositiveResponseDataResultsInnerRemoteWorkStatus.new()
+```
+
diff --git a/docs/GetAtsJobsPositiveResponseDataResultsInnerSalaryPeriod.md b/docs/GetAtsJobsPositiveResponseDataResultsInnerSalaryPeriod.md
new file mode 100644
index 0000000..7254852
--- /dev/null
+++ b/docs/GetAtsJobsPositiveResponseDataResultsInnerSalaryPeriod.md
@@ -0,0 +1,15 @@
+# Kombo::GetAtsJobsPositiveResponseDataResultsInnerSalaryPeriod
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsPositiveResponseDataResultsInnerSalaryPeriod.new()
+```
+
diff --git a/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInner.md b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInner.md
new file mode 100644
index 0000000..3c97e16
--- /dev/null
+++ b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInner.md
@@ -0,0 +1,36 @@
+# Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **title** | **String** | | |
+| **description** | **String** | Additional instructions or context. Typically a short sentence, but sometimes a long detailed description (e.g., for EEO questions). May include HTML for extra formatting. | |
+| **format** | [**GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormat**](GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormat.md) | | [optional] |
+| **category** | **String** | The category of the screening question (default `null`). \"EEO\" questions are related to Equal Employment Opportunity (e.g. \"What is your veteran status?\"), while \"DEMOGRAPHIC\" questions are for other diversity and demographic data collection. | |
+| **index** | **Integer** | | [optional] |
+| **required** | **Boolean** | | |
+| **precondition_question_id** | **String** | The Kombo ID of another screening question. Only display this question if the specified \"precondition question\" is answered with one of the values in `precondition_options`. | [optional] |
+| **precondition_options** | [**GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions**](GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInner.new(
+ id: null,
+ remote_id: null,
+ title: null,
+ description: null,
+ format: null,
+ category: null,
+ index: null,
+ required: null,
+ precondition_question_id: null,
+ precondition_options: null
+)
+```
+
diff --git a/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormat.md b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormat.md
new file mode 100644
index 0000000..e641b93
--- /dev/null
+++ b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormat.md
@@ -0,0 +1,34 @@
+# Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormat
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **display_type** | **String** | | [optional] |
+| **max_length** | **Integer** | | [optional] |
+| **type** | **String** | | |
+| **max** | **Float** | | [optional] |
+| **min** | **Float** | | [optional] |
+| **accepted_mime_types** | **Array<String>** | | [optional] |
+| **max_file_size_bytes** | **Integer** | | [optional] |
+| **options** | [**Array<GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3OptionsInner>**](GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3OptionsInner.md) | | |
+| **raw_question** | **Object** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormat.new(
+ display_type: null,
+ max_length: null,
+ type: null,
+ max: null,
+ min: null,
+ accepted_mime_types: null,
+ max_file_size_bytes: null,
+ options: null,
+ raw_question: null
+)
+```
+
diff --git a/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf.md b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf.md
new file mode 100644
index 0000000..0e9683b
--- /dev/null
+++ b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf.md
@@ -0,0 +1,22 @@
+# Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **display_type** | **String** | If unavailable, we recommend displaying a single-line input. | [optional] |
+| **max_length** | **Integer** | | [optional] |
+| **type** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf.new(
+ display_type: null,
+ max_length: null,
+ type: null
+)
+```
+
diff --git a/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf1.md b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf1.md
new file mode 100644
index 0000000..261f6b7
--- /dev/null
+++ b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf1.md
@@ -0,0 +1,24 @@
+# Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf1
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **display_type** | **String** | | [optional][default to 'FIELD'] |
+| **max** | **Float** | | [optional] |
+| **min** | **Float** | | [optional] |
+| **type** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf1.new(
+ display_type: null,
+ max: null,
+ min: null,
+ type: null
+)
+```
+
diff --git a/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf2.md b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf2.md
new file mode 100644
index 0000000..05654c9
--- /dev/null
+++ b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf2.md
@@ -0,0 +1,22 @@
+# Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf2
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **accepted_mime_types** | **Array<String>** | | [optional] |
+| **max_file_size_bytes** | **Integer** | | [optional] |
+| **type** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf2.new(
+ accepted_mime_types: null,
+ max_file_size_bytes: null,
+ type: null
+)
+```
+
diff --git a/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3.md b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3.md
new file mode 100644
index 0000000..63d8512
--- /dev/null
+++ b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3.md
@@ -0,0 +1,22 @@
+# Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **display_type** | **String** | | [optional] |
+| **options** | [**Array<GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3OptionsInner>**](GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3OptionsInner.md) | | |
+| **type** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3.new(
+ display_type: null,
+ options: null,
+ type: null
+)
+```
+
diff --git a/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3OptionsInner.md b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3OptionsInner.md
new file mode 100644
index 0000000..6c75db6
--- /dev/null
+++ b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3OptionsInner.md
@@ -0,0 +1,22 @@
+# Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3OptionsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The Kombo ID of this question option. Use this ID to specify the answer to this question. | |
+| **remote_id** | **String** | ID in the connected ATS. This might be null as some systems only use the name to identify the option. | [optional] |
+| **name** | **String** | Content of the question option. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3OptionsInner.new(
+ id: null,
+ remote_id: null,
+ name: null
+)
+```
+
diff --git a/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf4.md b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf4.md
new file mode 100644
index 0000000..f235497
--- /dev/null
+++ b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf4.md
@@ -0,0 +1,18 @@
+# Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf4
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **type** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf4.new(
+ type: null
+)
+```
+
diff --git a/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf5.md b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf5.md
new file mode 100644
index 0000000..6a51436
--- /dev/null
+++ b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf5.md
@@ -0,0 +1,18 @@
+# Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf5
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **type** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf5.new(
+ type: null
+)
+```
+
diff --git a/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf6.md b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf6.md
new file mode 100644
index 0000000..03401db
--- /dev/null
+++ b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf6.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf6
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **options** | [**Array<GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3OptionsInner>**](GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf3OptionsInner.md) | | |
+| **type** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf6.new(
+ options: null,
+ type: null
+)
+```
+
diff --git a/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf7.md b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf7.md
new file mode 100644
index 0000000..2b7ba4c
--- /dev/null
+++ b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf7.md
@@ -0,0 +1,18 @@
+# Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf7
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **type** | **String** | This is just a text block. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf7.new(
+ type: null
+)
+```
+
diff --git a/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf8.md b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf8.md
new file mode 100644
index 0000000..ae97d23
--- /dev/null
+++ b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf8.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf8
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **raw_question** | **Object** | | [optional] |
+| **type** | **String** | When we're not able to map a specific question type yet, we will return this type. Every `UNKNOWN` question will also be parsed and unified by us at some point. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerFormatAnyOf8.new(
+ raw_question: null,
+ type: null
+)
+```
+
diff --git a/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions.md b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions.md
new file mode 100644
index 0000000..15cdbb7
--- /dev/null
+++ b/docs/GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions.md
@@ -0,0 +1,15 @@
+# Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsPositiveResponseDataResultsInnerScreeningQuestionsInnerPreconditionOptions.new()
+```
+
diff --git a/docs/GetAtsJobsPositiveResponseDataResultsInnerStagesInner.md b/docs/GetAtsJobsPositiveResponseDataResultsInnerStagesInner.md
new file mode 100644
index 0000000..0d00c80
--- /dev/null
+++ b/docs/GetAtsJobsPositiveResponseDataResultsInnerStagesInner.md
@@ -0,0 +1,26 @@
+# Kombo::GetAtsJobsPositiveResponseDataResultsInnerStagesInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **name** | **String** | The application stage name. For example, \"Initial Screening\". | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+| **index** | **Integer** | Numeric index following the order of the stages if they are ordered in the underlying tool. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsPositiveResponseDataResultsInnerStagesInner.new(
+ id: null,
+ remote_id: null,
+ name: null,
+ remote_data: null,
+ index: null
+)
+```
+
diff --git a/docs/GetAtsJobsPositiveResponseDataResultsInnerStatus.md b/docs/GetAtsJobsPositiveResponseDataResultsInnerStatus.md
new file mode 100644
index 0000000..41575f7
--- /dev/null
+++ b/docs/GetAtsJobsPositiveResponseDataResultsInnerStatus.md
@@ -0,0 +1,15 @@
+# Kombo::GetAtsJobsPositiveResponseDataResultsInnerStatus
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsPositiveResponseDataResultsInnerStatus.new()
+```
+
diff --git a/docs/GetAtsJobsPositiveResponseDataResultsInnerVisibility.md b/docs/GetAtsJobsPositiveResponseDataResultsInnerVisibility.md
new file mode 100644
index 0000000..bdcf2a2
--- /dev/null
+++ b/docs/GetAtsJobsPositiveResponseDataResultsInnerVisibility.md
@@ -0,0 +1,15 @@
+# Kombo::GetAtsJobsPositiveResponseDataResultsInnerVisibility
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsJobsPositiveResponseDataResultsInnerVisibility.new()
+```
+
diff --git a/docs/GetAtsOffersParameterIncludeDeleted.md b/docs/GetAtsOffersParameterIncludeDeleted.md
new file mode 100644
index 0000000..93c6a02
--- /dev/null
+++ b/docs/GetAtsOffersParameterIncludeDeleted.md
@@ -0,0 +1,15 @@
+# Kombo::GetAtsOffersParameterIncludeDeleted
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsOffersParameterIncludeDeleted.new()
+```
+
diff --git a/docs/GetAtsOffersPositiveResponse.md b/docs/GetAtsOffersPositiveResponse.md
new file mode 100644
index 0000000..02e1658
--- /dev/null
+++ b/docs/GetAtsOffersPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsOffersPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetAtsOffersPositiveResponseData**](GetAtsOffersPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsOffersPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetAtsOffersPositiveResponseData.md b/docs/GetAtsOffersPositiveResponseData.md
new file mode 100644
index 0000000..aca2230
--- /dev/null
+++ b/docs/GetAtsOffersPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsOffersPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetAtsOffersPositiveResponseDataResultsInner>**](GetAtsOffersPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsOffersPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetAtsOffersPositiveResponseDataResultsInner.md b/docs/GetAtsOffersPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..f8e4337
--- /dev/null
+++ b/docs/GetAtsOffersPositiveResponseDataResultsInner.md
@@ -0,0 +1,42 @@
+# Kombo::GetAtsOffersPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **status** | **String** | The offer’s current status. The usual flow of statuses is as follows: `DRAFT` -> `APPROVED` -> `SENT` -> `ACCEPTED` or `DECLINED`. Please note that not all systems will expose all statuses. For example, most systems do not include the `APPROVED` status - `ACCEPTED`: The offer was accepted by the candidate. - `DECLINED`: The offer was declined by the candidate. - `SENT`: The offer was sent to the candidate. - `APPROVED`: The draft was approved. - `DRAFT`: The offer is a draft and has not yet been sent to the candidate. - `ABANDONED`: The offer has expired or is no longer valid and should not be considered. | |
+| **employment_start_date** | **Time** | The date when the employment described by the offer starts. Can be in the past or future. | |
+| **application_id** | **String** | The Kombo ID of the application this interview belongs to. The ID can be used to retrieve the application from the `get applications` endpoint. | |
+| **custom_fields** | **Hash<String, Object>** | A key-value store of fields not covered by the schema. [Read more](/custom-fields) | |
+| **integration_fields** | [**Array<GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner>**](GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner.md) | An array of selected passthrough integration fields. [Read more](/integration-fields) | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+| **remote_created_at** | **Time** | The date and time the object was created in the remote system. | |
+| **remote_updated_at** | **Time** | A timestamp retrieved from the remote system, describing when the resource was last updated. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+| **application** | [**GetAtsOffersPositiveResponseDataResultsInnerApplication**](GetAtsOffersPositiveResponseDataResultsInnerApplication.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsOffersPositiveResponseDataResultsInner.new(
+ id: null,
+ remote_id: null,
+ status: null,
+ employment_start_date: null,
+ application_id: null,
+ custom_fields: null,
+ integration_fields: null,
+ changed_at: null,
+ remote_deleted_at: null,
+ remote_created_at: null,
+ remote_updated_at: null,
+ remote_data: null,
+ application: null
+)
+```
+
diff --git a/docs/GetAtsOffersPositiveResponseDataResultsInnerApplication.md b/docs/GetAtsOffersPositiveResponseDataResultsInnerApplication.md
new file mode 100644
index 0000000..3dfb21b
--- /dev/null
+++ b/docs/GetAtsOffersPositiveResponseDataResultsInnerApplication.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsOffersPositiveResponseDataResultsInnerApplication
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **candidate** | [**GetAtsOffersPositiveResponseDataResultsInnerApplicationCandidate**](GetAtsOffersPositiveResponseDataResultsInnerApplicationCandidate.md) | | |
+| **job** | [**GetAtsApplicationsPositiveResponseDataResultsInnerJob**](GetAtsApplicationsPositiveResponseDataResultsInnerJob.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsOffersPositiveResponseDataResultsInnerApplication.new(
+ candidate: null,
+ job: null
+)
+```
+
diff --git a/docs/GetAtsOffersPositiveResponseDataResultsInnerApplicationCandidate.md b/docs/GetAtsOffersPositiveResponseDataResultsInnerApplicationCandidate.md
new file mode 100644
index 0000000..0ddd32b
--- /dev/null
+++ b/docs/GetAtsOffersPositiveResponseDataResultsInnerApplicationCandidate.md
@@ -0,0 +1,26 @@
+# Kombo::GetAtsOffersPositiveResponseDataResultsInnerApplicationCandidate
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **first_name** | **String** | First name of the candidate. | |
+| **last_name** | **String** | Last name of the candidate. | |
+| **email_addresses** | [**Array<GetAtsApplicationsPositiveResponseDataResultsInnerCandidateEmailAddressesInner>**](GetAtsApplicationsPositiveResponseDataResultsInnerCandidateEmailAddressesInner.md) | A list of email addresses of the candidate with an optional type. If an email address is invalid, it will be filtered out. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsOffersPositiveResponseDataResultsInnerApplicationCandidate.new(
+ id: null,
+ remote_id: null,
+ first_name: null,
+ last_name: null,
+ email_addresses: null
+)
+```
+
diff --git a/docs/GetAtsRejectionReasonsParameterIncludeDeleted.md b/docs/GetAtsRejectionReasonsParameterIncludeDeleted.md
new file mode 100644
index 0000000..f450763
--- /dev/null
+++ b/docs/GetAtsRejectionReasonsParameterIncludeDeleted.md
@@ -0,0 +1,15 @@
+# Kombo::GetAtsRejectionReasonsParameterIncludeDeleted
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsRejectionReasonsParameterIncludeDeleted.new()
+```
+
diff --git a/docs/GetAtsRejectionReasonsPositiveResponse.md b/docs/GetAtsRejectionReasonsPositiveResponse.md
new file mode 100644
index 0000000..7e80255
--- /dev/null
+++ b/docs/GetAtsRejectionReasonsPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsRejectionReasonsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetAtsRejectionReasonsPositiveResponseData**](GetAtsRejectionReasonsPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsRejectionReasonsPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetAtsRejectionReasonsPositiveResponseData.md b/docs/GetAtsRejectionReasonsPositiveResponseData.md
new file mode 100644
index 0000000..a895213
--- /dev/null
+++ b/docs/GetAtsRejectionReasonsPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsRejectionReasonsPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetAtsRejectionReasonsPositiveResponseDataResultsInner>**](GetAtsRejectionReasonsPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsRejectionReasonsPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetAtsRejectionReasonsPositiveResponseDataResultsInner.md b/docs/GetAtsRejectionReasonsPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..a32cb27
--- /dev/null
+++ b/docs/GetAtsRejectionReasonsPositiveResponseDataResultsInner.md
@@ -0,0 +1,28 @@
+# Kombo::GetAtsRejectionReasonsPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **name** | **String** | The title of the rejection reason. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsRejectionReasonsPositiveResponseDataResultsInner.new(
+ id: null,
+ remote_id: null,
+ name: null,
+ changed_at: null,
+ remote_deleted_at: null,
+ remote_data: null
+)
+```
+
diff --git a/docs/GetAtsTagsParameterIncludeDeleted.md b/docs/GetAtsTagsParameterIncludeDeleted.md
new file mode 100644
index 0000000..94cc8d5
--- /dev/null
+++ b/docs/GetAtsTagsParameterIncludeDeleted.md
@@ -0,0 +1,15 @@
+# Kombo::GetAtsTagsParameterIncludeDeleted
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsTagsParameterIncludeDeleted.new()
+```
+
diff --git a/docs/GetAtsTagsPositiveResponse.md b/docs/GetAtsTagsPositiveResponse.md
new file mode 100644
index 0000000..f7539a6
--- /dev/null
+++ b/docs/GetAtsTagsPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsTagsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetAtsTagsPositiveResponseData**](GetAtsTagsPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsTagsPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetAtsTagsPositiveResponseData.md b/docs/GetAtsTagsPositiveResponseData.md
new file mode 100644
index 0000000..8d94765
--- /dev/null
+++ b/docs/GetAtsTagsPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsTagsPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetAtsTagsPositiveResponseDataResultsInner>**](GetAtsTagsPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsTagsPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetAtsTagsPositiveResponseDataResultsInner.md b/docs/GetAtsTagsPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..a181bff
--- /dev/null
+++ b/docs/GetAtsTagsPositiveResponseDataResultsInner.md
@@ -0,0 +1,28 @@
+# Kombo::GetAtsTagsPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **name** | **String** | | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsTagsPositiveResponseDataResultsInner.new(
+ id: null,
+ remote_id: null,
+ name: null,
+ remote_data: null,
+ changed_at: null,
+ remote_deleted_at: null
+)
+```
+
diff --git a/docs/GetAtsUsersParameterIncludeDeleted.md b/docs/GetAtsUsersParameterIncludeDeleted.md
new file mode 100644
index 0000000..0324192
--- /dev/null
+++ b/docs/GetAtsUsersParameterIncludeDeleted.md
@@ -0,0 +1,15 @@
+# Kombo::GetAtsUsersParameterIncludeDeleted
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsUsersParameterIncludeDeleted.new()
+```
+
diff --git a/docs/GetAtsUsersPositiveResponse.md b/docs/GetAtsUsersPositiveResponse.md
new file mode 100644
index 0000000..cb6d10a
--- /dev/null
+++ b/docs/GetAtsUsersPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsUsersPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetAtsUsersPositiveResponseData**](GetAtsUsersPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsUsersPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetAtsUsersPositiveResponseData.md b/docs/GetAtsUsersPositiveResponseData.md
new file mode 100644
index 0000000..6ca640a
--- /dev/null
+++ b/docs/GetAtsUsersPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetAtsUsersPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetAtsUsersPositiveResponseDataResultsInner>**](GetAtsUsersPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsUsersPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetAtsUsersPositiveResponseDataResultsInner.md b/docs/GetAtsUsersPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..fee6dd8
--- /dev/null
+++ b/docs/GetAtsUsersPositiveResponseDataResultsInner.md
@@ -0,0 +1,34 @@
+# Kombo::GetAtsUsersPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **first_name** | **String** | First name of the user. | |
+| **last_name** | **String** | Last name of the user. | |
+| **email** | **String** | Email of the user. If the email address is invalid, it will be set to null. | [optional] |
+| **status** | **String** | Whether the user is active or inactive. Consider this field when provisioning users from the ATS. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetAtsUsersPositiveResponseDataResultsInner.new(
+ id: null,
+ remote_id: null,
+ first_name: null,
+ last_name: null,
+ email: null,
+ status: null,
+ remote_data: null,
+ changed_at: null,
+ remote_deleted_at: null
+)
+```
+
diff --git a/docs/GetCheckApiKeyPositiveResponse.md b/docs/GetCheckApiKeyPositiveResponse.md
new file mode 100644
index 0000000..f325169
--- /dev/null
+++ b/docs/GetCheckApiKeyPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetCheckApiKeyPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetCheckApiKeyPositiveResponseData**](GetCheckApiKeyPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCheckApiKeyPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetCheckApiKeyPositiveResponseData.md b/docs/GetCheckApiKeyPositiveResponseData.md
new file mode 100644
index 0000000..2cde412
--- /dev/null
+++ b/docs/GetCheckApiKeyPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetCheckApiKeyPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **environment_id** | **String** | | |
+| **customer_id** | **String** | **(⚠️ Deprecated)** Renamed to `environment_id`. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCheckApiKeyPositiveResponseData.new(
+ environment_id: null,
+ customer_id: null
+)
+```
+
diff --git a/docs/GetConnectIntegrationByTokenTokenPositiveResponse.md b/docs/GetConnectIntegrationByTokenTokenPositiveResponse.md
new file mode 100644
index 0000000..1047142
--- /dev/null
+++ b/docs/GetConnectIntegrationByTokenTokenPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetConnectIntegrationByTokenTokenPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetConnectIntegrationByTokenTokenPositiveResponseData**](GetConnectIntegrationByTokenTokenPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetConnectIntegrationByTokenTokenPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetConnectIntegrationByTokenTokenPositiveResponseData.md b/docs/GetConnectIntegrationByTokenTokenPositiveResponseData.md
new file mode 100644
index 0000000..448f12a
--- /dev/null
+++ b/docs/GetConnectIntegrationByTokenTokenPositiveResponseData.md
@@ -0,0 +1,28 @@
+# Kombo::GetConnectIntegrationByTokenTokenPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **tool** | **String** | | |
+| **id** | **String** | | |
+| **end_user_origin_id** | **String** | | |
+| **end_user_organization_name** | **String** | | |
+| **end_user_email** | **String** | | |
+| **setup_status** | **String** | The setup_status is used in conjunction with the filtering and field mapping features. If these are enabled in the connection flow, the integration will start in an \"INCOMPLETE\" state and move to \"COMPLETE\" once all steps are finished. - `INCOMPLETE`: Setup is still in progress. Some steps aren’t finished, so no data is available yet. Syncs only run as needed for setup. - `FINAL_SYNC_PENDING`: Setup is complete, and the final sync is running. Data will be available after this sync is done. - `COMPLETED`: Setup is fully finished, and the integration is ready to use. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetConnectIntegrationByTokenTokenPositiveResponseData.new(
+ tool: null,
+ id: null,
+ end_user_origin_id: null,
+ end_user_organization_name: null,
+ end_user_email: null,
+ setup_status: null
+)
+```
+
diff --git a/docs/GetCustomDatevAvailableDocumentsPositiveResponse.md b/docs/GetCustomDatevAvailableDocumentsPositiveResponse.md
new file mode 100644
index 0000000..a722b2b
--- /dev/null
+++ b/docs/GetCustomDatevAvailableDocumentsPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::GetCustomDatevAvailableDocumentsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetCustomDatevAvailableDocumentsPositiveResponseData**](GetCustomDatevAvailableDocumentsPositiveResponseData.md) | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCustomDatevAvailableDocumentsPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/GetCustomDatevAvailableDocumentsPositiveResponseData.md b/docs/GetCustomDatevAvailableDocumentsPositiveResponseData.md
new file mode 100644
index 0000000..39cadad
--- /dev/null
+++ b/docs/GetCustomDatevAvailableDocumentsPositiveResponseData.md
@@ -0,0 +1,18 @@
+# Kombo::GetCustomDatevAvailableDocumentsPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **results** | [**Array<GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInner>**](GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCustomDatevAvailableDocumentsPositiveResponseData.new(
+ results: null
+)
+```
+
diff --git a/docs/GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInner.md b/docs/GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..b35abff
--- /dev/null
+++ b/docs/GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInner.md
@@ -0,0 +1,22 @@
+# Kombo::GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **document_type** | **String** | The document's type. | |
+| **available_for_employees** | [**Array<GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInnerAvailableForEmployeesInner>**](GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInnerAvailableForEmployeesInner.md) | List of employees this document is available for. | |
+| **is_company_document** | **Boolean** | Is true if the document is a company document. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInner.new(
+ document_type: null,
+ available_for_employees: null,
+ is_company_document: null
+)
+```
+
diff --git a/docs/GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInnerAvailableForEmployeesInner.md b/docs/GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInnerAvailableForEmployeesInner.md
new file mode 100644
index 0000000..0a4dd56
--- /dev/null
+++ b/docs/GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInnerAvailableForEmployeesInner.md
@@ -0,0 +1,20 @@
+# Kombo::GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInnerAvailableForEmployeesInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | | |
+| **remote_id** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCustomDatevAvailableDocumentsPositiveResponseDataResultsInnerAvailableForEmployeesInner.new(
+ id: null,
+ remote_id: null
+)
+```
+
diff --git a/docs/GetCustomDatevCheckDocumentPermissionPositiveResponse.md b/docs/GetCustomDatevCheckDocumentPermissionPositiveResponse.md
new file mode 100644
index 0000000..4179d07
--- /dev/null
+++ b/docs/GetCustomDatevCheckDocumentPermissionPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetCustomDatevCheckDocumentPermissionPositiveResponseData**](GetCustomDatevCheckDocumentPermissionPositiveResponseData.md) | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/GetCustomDatevCheckDocumentPermissionPositiveResponseData.md b/docs/GetCustomDatevCheckDocumentPermissionPositiveResponseData.md
new file mode 100644
index 0000000..15a7a9c
--- /dev/null
+++ b/docs/GetCustomDatevCheckDocumentPermissionPositiveResponseData.md
@@ -0,0 +1,22 @@
+# Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **ready** | **Boolean** | | |
+| **documents_granted** | **Array<String>** | | |
+| **error** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponseData.new(
+ ready: null,
+ documents_granted: null,
+ error: null
+)
+```
+
diff --git a/docs/GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf.md b/docs/GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf.md
new file mode 100644
index 0000000..bd1d262
--- /dev/null
+++ b/docs/GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf.md
@@ -0,0 +1,20 @@
+# Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **ready** | **Boolean** | | |
+| **documents_granted** | **Array<String>** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf.new(
+ ready: null,
+ documents_granted: null
+)
+```
+
diff --git a/docs/GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf1.md b/docs/GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf1.md
new file mode 100644
index 0000000..9532c9d
--- /dev/null
+++ b/docs/GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf1.md
@@ -0,0 +1,20 @@
+# Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf1
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **ready** | **Boolean** | | |
+| **error** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCustomDatevCheckDocumentPermissionPositiveResponseDataAnyOf1.new(
+ ready: null,
+ error: null
+)
+```
+
diff --git a/docs/GetCustomDatevCheckEauPermissionPositiveResponse.md b/docs/GetCustomDatevCheckEauPermissionPositiveResponse.md
new file mode 100644
index 0000000..0487554
--- /dev/null
+++ b/docs/GetCustomDatevCheckEauPermissionPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::GetCustomDatevCheckEauPermissionPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetCustomDatevCheckEauPermissionPositiveResponseData**](GetCustomDatevCheckEauPermissionPositiveResponseData.md) | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCustomDatevCheckEauPermissionPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/GetCustomDatevCheckEauPermissionPositiveResponseData.md b/docs/GetCustomDatevCheckEauPermissionPositiveResponseData.md
new file mode 100644
index 0000000..3542b76
--- /dev/null
+++ b/docs/GetCustomDatevCheckEauPermissionPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetCustomDatevCheckEauPermissionPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **ready** | **Boolean** | | |
+| **error** | **String** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCustomDatevCheckEauPermissionPositiveResponseData.new(
+ ready: null,
+ error: null
+)
+```
+
diff --git a/docs/GetCustomDatevCheckWritePermissionPositiveResponse.md b/docs/GetCustomDatevCheckWritePermissionPositiveResponse.md
new file mode 100644
index 0000000..e52e5c8
--- /dev/null
+++ b/docs/GetCustomDatevCheckWritePermissionPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::GetCustomDatevCheckWritePermissionPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetCustomDatevCheckEauPermissionPositiveResponseData**](GetCustomDatevCheckEauPermissionPositiveResponseData.md) | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCustomDatevCheckWritePermissionPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/GetCustomDatevDataPushesPositiveResponse.md b/docs/GetCustomDatevDataPushesPositiveResponse.md
new file mode 100644
index 0000000..fbfc2fa
--- /dev/null
+++ b/docs/GetCustomDatevDataPushesPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetCustomDatevDataPushesPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetCustomDatevDataPushesPositiveResponseData**](GetCustomDatevDataPushesPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCustomDatevDataPushesPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetCustomDatevDataPushesPositiveResponseData.md b/docs/GetCustomDatevDataPushesPositiveResponseData.md
new file mode 100644
index 0000000..baaa339
--- /dev/null
+++ b/docs/GetCustomDatevDataPushesPositiveResponseData.md
@@ -0,0 +1,18 @@
+# Kombo::GetCustomDatevDataPushesPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **data_pushes** | [**Array<GetCustomDatevDataPushesPositiveResponseDataDataPushesInner>**](GetCustomDatevDataPushesPositiveResponseDataDataPushesInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCustomDatevDataPushesPositiveResponseData.new(
+ data_pushes: null
+)
+```
+
diff --git a/docs/GetCustomDatevDataPushesPositiveResponseDataDataPushesInner.md b/docs/GetCustomDatevDataPushesPositiveResponseDataDataPushesInner.md
new file mode 100644
index 0000000..b9eece5
--- /dev/null
+++ b/docs/GetCustomDatevDataPushesPositiveResponseDataDataPushesInner.md
@@ -0,0 +1,24 @@
+# Kombo::GetCustomDatevDataPushesPositiveResponseDataDataPushesInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | | |
+| **type** | **String** | Type of the executed data push. | |
+| **created_at** | **Time** | Date when the push-data endpoint was called. | |
+| **upload_jobs** | [**Array<GetCustomDatevDataPushesPositiveResponseDataDataPushesInnerUploadJobsInner>**](GetCustomDatevDataPushesPositiveResponseDataDataPushesInnerUploadJobsInner.md) | List of all the submitted files. This can include multiple files if data was edited for multiple months. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCustomDatevDataPushesPositiveResponseDataDataPushesInner.new(
+ id: null,
+ type: null,
+ created_at: null,
+ upload_jobs: null
+)
+```
+
diff --git a/docs/GetCustomDatevDataPushesPositiveResponseDataDataPushesInnerUploadJobsInner.md b/docs/GetCustomDatevDataPushesPositiveResponseDataDataPushesInnerUploadJobsInner.md
new file mode 100644
index 0000000..e178a25
--- /dev/null
+++ b/docs/GetCustomDatevDataPushesPositiveResponseDataDataPushesInnerUploadJobsInner.md
@@ -0,0 +1,24 @@
+# Kombo::GetCustomDatevDataPushesPositiveResponseDataDataPushesInnerUploadJobsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | | |
+| **file_name** | **String** | | |
+| **state** | **String** | If we were not able to send the file to DATEV, we will set the state \"FAILED\". The other values are synced from DATEV for the respective import jobs. | |
+| **file** | **String** | Actual content of the file. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCustomDatevDataPushesPositiveResponseDataDataPushesInnerUploadJobsInner.new(
+ id: null,
+ file_name: null,
+ state: null,
+ file: null
+)
+```
+
diff --git a/docs/GetCustomDatevEauRequestsEauIdPositiveResponse.md b/docs/GetCustomDatevEauRequestsEauIdPositiveResponse.md
new file mode 100644
index 0000000..232b1ed
--- /dev/null
+++ b/docs/GetCustomDatevEauRequestsEauIdPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::GetCustomDatevEauRequestsEauIdPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetCustomDatevEauRequestsEauIdPositiveResponseData**](GetCustomDatevEauRequestsEauIdPositiveResponseData.md) | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCustomDatevEauRequestsEauIdPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/GetCustomDatevEauRequestsEauIdPositiveResponseData.md b/docs/GetCustomDatevEauRequestsEauIdPositiveResponseData.md
new file mode 100644
index 0000000..f4e69b5
--- /dev/null
+++ b/docs/GetCustomDatevEauRequestsEauIdPositiveResponseData.md
@@ -0,0 +1,18 @@
+# Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **raw** | [**GetCustomDatevEauRequestsEauIdPositiveResponseDataRaw**](GetCustomDatevEauRequestsEauIdPositiveResponseDataRaw.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseData.new(
+ raw: null
+)
+```
+
diff --git a/docs/GetCustomDatevEauRequestsEauIdPositiveResponseDataRaw.md b/docs/GetCustomDatevEauRequestsEauIdPositiveResponseDataRaw.md
new file mode 100644
index 0000000..5146b0c
--- /dev/null
+++ b/docs/GetCustomDatevEauRequestsEauIdPositiveResponseDataRaw.md
@@ -0,0 +1,24 @@
+# Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRaw
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **source** | **String** | DATEV source system system (LuG or LODAS). | |
+| **start_work_incapacity** | **String** | 2022-01-13 | |
+| **collaboration_identifier** | **String** | Internal DATEV identifier. | [optional] |
+| **feedbacks_from_health_insurance** | [**Array<GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInner>**](GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRaw.new(
+ source: null,
+ start_work_incapacity: null,
+ collaboration_identifier: null,
+ feedbacks_from_health_insurance: null
+)
+```
+
diff --git a/docs/GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInner.md b/docs/GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInner.md
new file mode 100644
index 0000000..d637c2e
--- /dev/null
+++ b/docs/GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInner.md
@@ -0,0 +1,24 @@
+# Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **guid** | **String** | The unique identifier of the feedback. | |
+| **contact_person** | [**GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerContactPerson**](GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerContactPerson.md) | | |
+| **incapacity_for_work** | [**GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerIncapacityForWork**](GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerIncapacityForWork.md) | | |
+| **error_block_list** | [**Array<GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerErrorBlockListInner>**](GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerErrorBlockListInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInner.new(
+ guid: null,
+ contact_person: null,
+ incapacity_for_work: null,
+ error_block_list: null
+)
+```
+
diff --git a/docs/GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerContactPerson.md b/docs/GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerContactPerson.md
new file mode 100644
index 0000000..7701cd9
--- /dev/null
+++ b/docs/GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerContactPerson.md
@@ -0,0 +1,40 @@
+# Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerContactPerson
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **gender_contact_person** | **String** | [DEPRECATED] Gender of the contact person. M (male), W (female), X (unknown), D (divers). | [optional] |
+| **name** | **String** | Name of the contact person. | |
+| **telephone** | **String** | Telephone number of the contact person. | |
+| **fax** | **String** | Fax number of the contact person. | |
+| **email** | **String** | Email address of the contact person. | |
+| **name1_health_insurance** | **String** | Name of the health insurance. | |
+| **name2_health_insurance** | **String** | [DEPRECATED] Second part of the health insurance name. | [optional] |
+| **name3_health_insurance** | **String** | [DEPRECATED] Third part of the health insurance name. | [optional] |
+| **postal_code** | **String** | Postal code of the contact person. | |
+| **city** | **String** | City of the contact person. | |
+| **street** | **String** | Street of the contact person. | |
+| **house_number** | **String** | House number of the contact person. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerContactPerson.new(
+ gender_contact_person: null,
+ name: null,
+ telephone: null,
+ fax: null,
+ email: null,
+ name1_health_insurance: null,
+ name2_health_insurance: null,
+ name3_health_insurance: null,
+ postal_code: null,
+ city: null,
+ street: null,
+ house_number: null
+)
+```
+
diff --git a/docs/GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerErrorBlockListInner.md b/docs/GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerErrorBlockListInner.md
new file mode 100644
index 0000000..473261e
--- /dev/null
+++ b/docs/GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerErrorBlockListInner.md
@@ -0,0 +1,24 @@
+# Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerErrorBlockListInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **origin** | **String** | Origin of the error. (Health insurance or DATEV) | |
+| **error_number** | **String** | Error code | |
+| **error_text** | **String** | Human readable description of the error. | |
+| **error_value** | **String** | Erroneous value in case of a validation error. (e.g. date) | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerErrorBlockListInner.new(
+ origin: null,
+ error_number: null,
+ error_text: null,
+ error_value: null
+)
+```
+
diff --git a/docs/GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerIncapacityForWork.md b/docs/GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerIncapacityForWork.md
new file mode 100644
index 0000000..d6fd9e5
--- /dev/null
+++ b/docs/GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerIncapacityForWork.md
@@ -0,0 +1,42 @@
+# Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerIncapacityForWork
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **start_work_incapacity_employer** | **String** | yyyy-MM-dd date provided in the initial request. | |
+| **start_work_incapacity_au** | **String** | yyyy-MM-dd start date of the AU. | |
+| **end_work_incapacity_au** | **String** | yyyy-MM-dd expected end date of the AU. | |
+| **actual_end_work_incapacity_au** | **String** | yyyy-MM-dd actual end date after the hospitalization report was received. | [optional] |
+| **date_of_diagnosis** | **String** | yyyy-MM-dd date of diagnosis | |
+| **flag_current_work_incapacity** | **Float** | Flag: 0 = unknown Flag: 1 = Health insurance not responsible Flag: 2 = incapacity for work Flag: 3 = hospitalisation Flag: 4 = eAU or hospitalisation-report is not existing Flag: 5 = rehabilitation prevention Flag: 6 = inpatient hospital treatment Flag: 7 = in verification Flag: 8 = other evidence available Flag: 9 = forwarding procedure | |
+| **accident_at_work** | **Boolean** | If the accident is a work accident according to § 295 Para. 1 SGB V. | |
+| **assignment_accident_insurance_doctor** | **Boolean** | Indication of whether the insured person has been assigned to the accident insurance doctor. | |
+| **other_accident** | **Boolean** | If the accident is the result of another accident according to § 295 Para. 1 SGB V. | |
+| **start_hospitalisation** | **String** | [DEPRECATED] yyyy-MM-dd start date of the hospitalization. | [optional] |
+| **end_hospitalisation** | **String** | [DEPRECATED] yyyy-MM-dd end date of the actual hospitalization. | [optional] |
+| **initial_certificate** | **Boolean** | Whether the certificate is initial or a follow up certificate. | |
+| **automatic_feedback_until** | **String** | yyyy-MM-dd date until the health insurance will update this requests status. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCustomDatevEauRequestsEauIdPositiveResponseDataRawFeedbacksFromHealthInsuranceInnerIncapacityForWork.new(
+ start_work_incapacity_employer: null,
+ start_work_incapacity_au: null,
+ end_work_incapacity_au: null,
+ actual_end_work_incapacity_au: null,
+ date_of_diagnosis: null,
+ flag_current_work_incapacity: null,
+ accident_at_work: null,
+ assignment_accident_insurance_doctor: null,
+ other_accident: null,
+ start_hospitalisation: null,
+ end_hospitalisation: null,
+ initial_certificate: null,
+ automatic_feedback_until: null
+)
+```
+
diff --git a/docs/GetCustomDatevSystemInformationPositiveResponse.md b/docs/GetCustomDatevSystemInformationPositiveResponse.md
new file mode 100644
index 0000000..e30a8c9
--- /dev/null
+++ b/docs/GetCustomDatevSystemInformationPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetCustomDatevSystemInformationPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetCustomDatevSystemInformationPositiveResponseData**](GetCustomDatevSystemInformationPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCustomDatevSystemInformationPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetCustomDatevSystemInformationPositiveResponseData.md b/docs/GetCustomDatevSystemInformationPositiveResponseData.md
new file mode 100644
index 0000000..57bf66b
--- /dev/null
+++ b/docs/GetCustomDatevSystemInformationPositiveResponseData.md
@@ -0,0 +1,22 @@
+# Kombo::GetCustomDatevSystemInformationPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **consultant_number** | **Float** | The consultant number used for this DATEV integration (BeraterNr). | |
+| **client_number** | **Float** | The client number used for this DATEV integration (MandantenNr). | |
+| **target_system** | **String** | The target system's name (Ziel). | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetCustomDatevSystemInformationPositiveResponseData.new(
+ consultant_number: null,
+ client_number: null,
+ target_system: null
+)
+```
+
diff --git a/docs/GetHrisAbsenceTypesParameterIncludeDeleted.md b/docs/GetHrisAbsenceTypesParameterIncludeDeleted.md
new file mode 100644
index 0000000..cd27177
--- /dev/null
+++ b/docs/GetHrisAbsenceTypesParameterIncludeDeleted.md
@@ -0,0 +1,15 @@
+# Kombo::GetHrisAbsenceTypesParameterIncludeDeleted
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisAbsenceTypesParameterIncludeDeleted.new()
+```
+
diff --git a/docs/GetHrisAbsenceTypesPositiveResponse.md b/docs/GetHrisAbsenceTypesPositiveResponse.md
new file mode 100644
index 0000000..3ae5a96
--- /dev/null
+++ b/docs/GetHrisAbsenceTypesPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisAbsenceTypesPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetHrisAbsenceTypesPositiveResponseData**](GetHrisAbsenceTypesPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisAbsenceTypesPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetHrisAbsenceTypesPositiveResponseData.md b/docs/GetHrisAbsenceTypesPositiveResponseData.md
new file mode 100644
index 0000000..eea7db8
--- /dev/null
+++ b/docs/GetHrisAbsenceTypesPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisAbsenceTypesPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetHrisAbsenceTypesPositiveResponseDataResultsInner>**](GetHrisAbsenceTypesPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisAbsenceTypesPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetHrisAbsenceTypesPositiveResponseDataResultsInner.md b/docs/GetHrisAbsenceTypesPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..f5b6920
--- /dev/null
+++ b/docs/GetHrisAbsenceTypesPositiveResponseDataResultsInner.md
@@ -0,0 +1,34 @@
+# Kombo::GetHrisAbsenceTypesPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **name** | **String** | The absence’s name. | |
+| **unit** | **String** | The time-unit of the absence. | |
+| **half_days_supported** | **Boolean** | Whether the integration supports half-day absences (represented through `start_half_day` and `end_half_day`) for this absence type. | |
+| **exact_times_supported** | **Boolean** | `true` if the system supports exact times (absences with a `start_time` and an `end_time`) for this absence, `false` if not. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisAbsenceTypesPositiveResponseDataResultsInner.new(
+ id: null,
+ remote_id: null,
+ name: null,
+ unit: null,
+ half_days_supported: null,
+ exact_times_supported: null,
+ remote_data: null,
+ changed_at: null,
+ remote_deleted_at: null
+)
+```
+
diff --git a/docs/GetHrisAbsencesParameterIncludeDeleted.md b/docs/GetHrisAbsencesParameterIncludeDeleted.md
new file mode 100644
index 0000000..6fb4f3d
--- /dev/null
+++ b/docs/GetHrisAbsencesParameterIncludeDeleted.md
@@ -0,0 +1,15 @@
+# Kombo::GetHrisAbsencesParameterIncludeDeleted
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisAbsencesParameterIncludeDeleted.new()
+```
+
diff --git a/docs/GetHrisAbsencesPositiveResponse.md b/docs/GetHrisAbsencesPositiveResponse.md
new file mode 100644
index 0000000..e30c534
--- /dev/null
+++ b/docs/GetHrisAbsencesPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisAbsencesPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetHrisAbsencesPositiveResponseData**](GetHrisAbsencesPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisAbsencesPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetHrisAbsencesPositiveResponseData.md b/docs/GetHrisAbsencesPositiveResponseData.md
new file mode 100644
index 0000000..be8a633
--- /dev/null
+++ b/docs/GetHrisAbsencesPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisAbsencesPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetHrisAbsencesPositiveResponseDataResultsInner>**](GetHrisAbsencesPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisAbsencesPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetHrisAbsencesPositiveResponseDataResultsInner.md b/docs/GetHrisAbsencesPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..b6f5123
--- /dev/null
+++ b/docs/GetHrisAbsencesPositiveResponseDataResultsInner.md
@@ -0,0 +1,54 @@
+# Kombo::GetHrisAbsencesPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **employee_id** | **String** | The Kombo ID of the employee to which the absence belongs to. The ID can be used to retrieve the employee from the `get employees` endpoint. | |
+| **approver_id** | **String** | **(⚠️ Deprecated - We won't increase coverage for this feature)** The Kombo ID of the employee who is responsible for approving this absence. | |
+| **start_date** | [**Null**](Null.md) | The date this absence starts in the `yyyy-MM-dd` format. | |
+| **end_date** | [**Null**](Null.md) | The date this absence ends in the `yyyy-MM-dd` format. | |
+| **start_half_day** | **Boolean** | `true` if the absence starts in the middle of the day, `false` if not, and `null` if the absence type doesn't support half-day absences. For multi-day absences, this only applies to the first day of the absence. | |
+| **end_half_day** | **Boolean** | `true` if the absence ends in the middle of the day, `false` if not, and `null` if the absence type doesn't support half-day absences. For multi-day absences, this only applies to the last day of the absence. | |
+| **start_time** | [**Null**](Null.md) | The time at which this absence starts. Follows the format `HH:mm:ss` (e.g., `14:45:15`). | |
+| **end_time** | [**Null**](Null.md) | The time at which this absence ends. Follows the format `HH:mm:ss` (e.g., `14:45:15`). | |
+| **amount** | **Float** | The amount of time this absence takes. | |
+| **unit** | **String** | The unit of time for this absence. Can be `HOURS` or `DAYS`. | |
+| **status** | [**GetHrisAbsencesPositiveResponseDataResultsInnerStatus**](GetHrisAbsencesPositiveResponseDataResultsInnerStatus.md) | | [optional] |
+| **employee_note** | **String** | A note the employee has added to this absence. | |
+| **type_id** | **String** | The Kombo absence type ID of this absence. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+| **type** | [**GetHrisAbsenceTypesPositiveResponseDataResultsInner**](GetHrisAbsenceTypesPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisAbsencesPositiveResponseDataResultsInner.new(
+ id: null,
+ remote_id: null,
+ employee_id: null,
+ approver_id: null,
+ start_date: null,
+ end_date: null,
+ start_half_day: null,
+ end_half_day: null,
+ start_time: null,
+ end_time: null,
+ amount: null,
+ unit: null,
+ status: null,
+ employee_note: null,
+ type_id: null,
+ changed_at: null,
+ remote_deleted_at: null,
+ remote_data: null,
+ type: null
+)
+```
+
diff --git a/docs/GetHrisAbsencesPositiveResponseDataResultsInnerStatus.md b/docs/GetHrisAbsencesPositiveResponseDataResultsInnerStatus.md
new file mode 100644
index 0000000..3d5110e
--- /dev/null
+++ b/docs/GetHrisAbsencesPositiveResponseDataResultsInnerStatus.md
@@ -0,0 +1,15 @@
+# Kombo::GetHrisAbsencesPositiveResponseDataResultsInnerStatus
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisAbsencesPositiveResponseDataResultsInnerStatus.new()
+```
+
diff --git a/docs/GetHrisEmployeeDocumentCategoriesParameterIncludeDeleted.md b/docs/GetHrisEmployeeDocumentCategoriesParameterIncludeDeleted.md
new file mode 100644
index 0000000..dba7e7e
--- /dev/null
+++ b/docs/GetHrisEmployeeDocumentCategoriesParameterIncludeDeleted.md
@@ -0,0 +1,15 @@
+# Kombo::GetHrisEmployeeDocumentCategoriesParameterIncludeDeleted
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeeDocumentCategoriesParameterIncludeDeleted.new()
+```
+
diff --git a/docs/GetHrisEmployeeDocumentCategoriesPositiveResponse.md b/docs/GetHrisEmployeeDocumentCategoriesPositiveResponse.md
new file mode 100644
index 0000000..f120fef
--- /dev/null
+++ b/docs/GetHrisEmployeeDocumentCategoriesPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisEmployeeDocumentCategoriesPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetHrisEmployeeDocumentCategoriesPositiveResponseData**](GetHrisEmployeeDocumentCategoriesPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeeDocumentCategoriesPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetHrisEmployeeDocumentCategoriesPositiveResponseData.md b/docs/GetHrisEmployeeDocumentCategoriesPositiveResponseData.md
new file mode 100644
index 0000000..e71277f
--- /dev/null
+++ b/docs/GetHrisEmployeeDocumentCategoriesPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisEmployeeDocumentCategoriesPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetHrisEmployeeDocumentCategoriesPositiveResponseDataResultsInner>**](GetHrisEmployeeDocumentCategoriesPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeeDocumentCategoriesPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetHrisEmployeeDocumentCategoriesPositiveResponseDataResultsInner.md b/docs/GetHrisEmployeeDocumentCategoriesPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..fc93622
--- /dev/null
+++ b/docs/GetHrisEmployeeDocumentCategoriesPositiveResponseDataResultsInner.md
@@ -0,0 +1,28 @@
+# Kombo::GetHrisEmployeeDocumentCategoriesPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **name** | **String** | The employee document category name. For example, \"Employment contract\". | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeeDocumentCategoriesPositiveResponseDataResultsInner.new(
+ id: null,
+ remote_id: null,
+ name: null,
+ remote_data: null,
+ changed_at: null,
+ remote_deleted_at: null
+)
+```
+
diff --git a/docs/GetHrisEmployeeSkillAssignmentsPositiveResponse.md b/docs/GetHrisEmployeeSkillAssignmentsPositiveResponse.md
new file mode 100644
index 0000000..9205333
--- /dev/null
+++ b/docs/GetHrisEmployeeSkillAssignmentsPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisEmployeeSkillAssignmentsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetHrisEmployeeSkillAssignmentsPositiveResponseData**](GetHrisEmployeeSkillAssignmentsPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeeSkillAssignmentsPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetHrisEmployeeSkillAssignmentsPositiveResponseData.md b/docs/GetHrisEmployeeSkillAssignmentsPositiveResponseData.md
new file mode 100644
index 0000000..03c4375
--- /dev/null
+++ b/docs/GetHrisEmployeeSkillAssignmentsPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisEmployeeSkillAssignmentsPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner>**](GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeeSkillAssignmentsPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner.md b/docs/GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..1117f08
--- /dev/null
+++ b/docs/GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner.md
@@ -0,0 +1,24 @@
+# Kombo::GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The unique identifier for the employee skill assignment | |
+| **employee_id** | **String** | The ID of the employee | |
+| **skill_id** | **String** | The ID of the skill | |
+| **current_level** | **String** | The current skill level of the employee | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner.new(
+ id: null,
+ employee_id: null,
+ skill_id: null,
+ current_level: null
+)
+```
+
diff --git a/docs/GetHrisEmployeesFormPositiveResponse.md b/docs/GetHrisEmployeesFormPositiveResponse.md
new file mode 100644
index 0000000..b18f4fe
--- /dev/null
+++ b/docs/GetHrisEmployeesFormPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::GetHrisEmployeesFormPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetHrisEmployeesFormPositiveResponseData**](GetHrisEmployeesFormPositiveResponseData.md) | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesFormPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/GetHrisEmployeesFormPositiveResponseData.md b/docs/GetHrisEmployeesFormPositiveResponseData.md
new file mode 100644
index 0000000..d8c6196
--- /dev/null
+++ b/docs/GetHrisEmployeesFormPositiveResponseData.md
@@ -0,0 +1,18 @@
+# Kombo::GetHrisEmployeesFormPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **properties** | [**Hash<String, Schema1Value>**](Schema1Value.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesFormPositiveResponseData.new(
+ properties: null
+)
+```
+
diff --git a/docs/GetHrisEmployeesParameterEmploymentStatus.md b/docs/GetHrisEmployeesParameterEmploymentStatus.md
new file mode 100644
index 0000000..3c33d48
--- /dev/null
+++ b/docs/GetHrisEmployeesParameterEmploymentStatus.md
@@ -0,0 +1,15 @@
+# Kombo::GetHrisEmployeesParameterEmploymentStatus
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesParameterEmploymentStatus.new()
+```
+
diff --git a/docs/GetHrisEmployeesParameterIncludeDeleted.md b/docs/GetHrisEmployeesParameterIncludeDeleted.md
new file mode 100644
index 0000000..f5eb009
--- /dev/null
+++ b/docs/GetHrisEmployeesParameterIncludeDeleted.md
@@ -0,0 +1,15 @@
+# Kombo::GetHrisEmployeesParameterIncludeDeleted
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesParameterIncludeDeleted.new()
+```
+
diff --git a/docs/GetHrisEmployeesPositiveResponse.md b/docs/GetHrisEmployeesPositiveResponse.md
new file mode 100644
index 0000000..cf7cf9b
--- /dev/null
+++ b/docs/GetHrisEmployeesPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisEmployeesPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetHrisEmployeesPositiveResponseData**](GetHrisEmployeesPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetHrisEmployeesPositiveResponseData.md b/docs/GetHrisEmployeesPositiveResponseData.md
new file mode 100644
index 0000000..74854e2
--- /dev/null
+++ b/docs/GetHrisEmployeesPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisEmployeesPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetHrisEmployeesPositiveResponseDataResultsInner>**](GetHrisEmployeesPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetHrisEmployeesPositiveResponseDataResultsInner.md b/docs/GetHrisEmployeesPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..23c5c1b
--- /dev/null
+++ b/docs/GetHrisEmployeesPositiveResponseDataResultsInner.md
@@ -0,0 +1,98 @@
+# Kombo::GetHrisEmployeesPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **employee_number** | **String** | The employee’s organization-internal employee number. | |
+| **first_name** | **String** | The employee’s first name. | |
+| **last_name** | **String** | The employee’s last name. | |
+| **nationality** | **String** | The employee’s nationality. | |
+| **display_full_name** | **String** | The employee’s full name, including any middle names. Not all HR systems provide an explicit display name, so we recommend falling back to `first_name` and `last_name`. | |
+| **job_title** | **String** | The employee’s job title. | |
+| **work_email** | **String** | The employee’s work email address. If the email address is invalid, we will set this to `null`. | [optional] |
+| **personal_email** | **String** | The employee’s personal email address. If the email address is invalid, we will set this to `null`. | [optional] |
+| **mobile_phone_number** | **String** | The employee’s mobile phone number. | |
+| **ssn** | **String** | The employee’s social security number | |
+| **tax_id** | **String** | The employee’s tax ID. | |
+| **gender** | [**GetHrisEmployeesPositiveResponseDataResultsInnerGender**](GetHrisEmployeesPositiveResponseDataResultsInnerGender.md) | | [optional] |
+| **ethnicity** | [**GetHrisEmployeesPositiveResponseDataResultsInnerEthnicity**](GetHrisEmployeesPositiveResponseDataResultsInnerEthnicity.md) | | [optional] |
+| **marital_status** | [**GetHrisEmployeesPositiveResponseDataResultsInnerMaritalStatus**](GetHrisEmployeesPositiveResponseDataResultsInnerMaritalStatus.md) | | [optional] |
+| **employment_status** | [**GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentStatus**](GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentStatus.md) | | [optional] |
+| **employment_type** | [**GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentType**](GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentType.md) | | [optional] |
+| **weekly_hours** | **Float** | The employee’s weekly working hours. | |
+| **avatar** | **String** | URL to the employee’s avatar. This is either the raw URL from the HR system (in cases where it can be requested without short-lived authentication) _or_ a URL to a temporarily cached version of the file hosted by Kombo. Kombo will delete the cached file after its deletion in the source system. | |
+| **work_location_id** | **String** | The Kombo ID of the employee’s work location. The ID can be used to retrieve the work location from the `get work locations` endpoint. | |
+| **legal_entity_id** | **String** | The Kombo ID of the employee’s legal entity. The ID can be used to retrieve the legal entity from the `get legal entities` endpoint. | |
+| **manager_id** | **String** | The Kombo ID of the employee’s manager. The ID can be used to retrieve the manager from the `get employees` endpoint. | |
+| **home_address** | [**GetHrisEmployeesPositiveResponseDataResultsInnerHomeAddress**](GetHrisEmployeesPositiveResponseDataResultsInnerHomeAddress.md) | | [optional] |
+| **bank_accounts** | [**Array<GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInner>**](GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInner.md) | The employee’s bank accounts. | [optional] |
+| **date_of_birth** | **Time** | The employee’s date of birth. | |
+| **start_date** | **Time** | The date the employee started working for the organization. | |
+| **termination_date** | **Time** | The date when the employment ends. Can be in the past or future. | |
+| **remote_created_at** | **Time** | The date and time the object was created in the remote system. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+| **custom_fields** | **Hash<String, Object>** | A key-value store of fields not covered by the schema. [Read more](/custom-fields) | |
+| **integration_fields** | [**Array<GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner>**](GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner.md) | An array of selected passthrough integration fields. [Read more](/integration-fields) | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+| **employments** | [**Array<GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInner>**](GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInner.md) | | |
+| **time_off_balances** | [**Array<GetHrisEmployeesPositiveResponseDataResultsInnerTimeOffBalancesInner>**](GetHrisEmployeesPositiveResponseDataResultsInnerTimeOffBalancesInner.md) | | |
+| **manager** | [**GetHrisEmployeesPositiveResponseDataResultsInnerManager**](GetHrisEmployeesPositiveResponseDataResultsInnerManager.md) | | |
+| **groups** | [**Array<GetHrisEmployeesPositiveResponseDataResultsInnerGroupsInner>**](GetHrisEmployeesPositiveResponseDataResultsInnerGroupsInner.md) | | |
+| **legal_entity** | [**GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntity**](GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntity.md) | | |
+| **teams** | [**Array<GetHrisEmployeesPositiveResponseDataResultsInnerGroupsInner>**](GetHrisEmployeesPositiveResponseDataResultsInnerGroupsInner.md) | **(⚠️ Deprecated - Please use `groups` instead. It includes the same data and the naming is less confusing.)** Maintained field for backwards compatibility. | |
+| **work_location** | [**GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocation**](GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocation.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesPositiveResponseDataResultsInner.new(
+ id: null,
+ remote_id: null,
+ employee_number: null,
+ first_name: null,
+ last_name: null,
+ nationality: null,
+ display_full_name: null,
+ job_title: null,
+ work_email: null,
+ personal_email: null,
+ mobile_phone_number: null,
+ ssn: null,
+ tax_id: null,
+ gender: null,
+ ethnicity: null,
+ marital_status: null,
+ employment_status: null,
+ employment_type: null,
+ weekly_hours: null,
+ avatar: null,
+ work_location_id: null,
+ legal_entity_id: null,
+ manager_id: null,
+ home_address: null,
+ bank_accounts: null,
+ date_of_birth: null,
+ start_date: null,
+ termination_date: null,
+ remote_created_at: null,
+ changed_at: null,
+ remote_deleted_at: null,
+ custom_fields: null,
+ integration_fields: null,
+ remote_data: null,
+ employments: null,
+ time_off_balances: null,
+ manager: null,
+ groups: null,
+ legal_entity: null,
+ teams: null,
+ work_location: null
+)
+```
+
diff --git a/docs/GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInner.md b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInner.md
new file mode 100644
index 0000000..cddd57b
--- /dev/null
+++ b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInner.md
@@ -0,0 +1,28 @@
+# Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **iban** | **String** | The internationally unique IBAN identifying this account. If we detect a valid IBAN from the account number and this field would otherwise be empty, we will automatically populate this field. | [optional] |
+| **bic** | **String** | The internationally unique BIC/SWIFT code identifying the bank behind this account. If we detect a valid BIC from the domestic bank routing number and this field would otherwise be empty, we will automatically populate this field. | [optional] |
+| **account_number** | **String** | The bank-specific account number. Some companies use the account number field to put the IBAN here. | [optional] |
+| **holder_name** | **String** | The name of the holder of this account. | [optional] |
+| **bank_name** | **String** | The name of the bank behind this account. | [optional] |
+| **domestic_bank_routing** | [**GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInnerDomesticBankRouting**](GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInnerDomesticBankRouting.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInner.new(
+ iban: null,
+ bic: null,
+ account_number: null,
+ holder_name: null,
+ bank_name: null,
+ domestic_bank_routing: null
+)
+```
+
diff --git a/docs/GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInnerDomesticBankRouting.md b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInnerDomesticBankRouting.md
new file mode 100644
index 0000000..1d39197
--- /dev/null
+++ b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInnerDomesticBankRouting.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInnerDomesticBankRouting
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **number** | **String** | Bank routing number (e.g. DE Bankleitzahl, GB Sort Code, US ABA routing number, AU BSB code). This field is not formatted and therefore might contain delimiters (eg. 01-23-45). | |
+| **type** | **String** | Enum of the routing type, prefixed with the iso-3166-1-alpha-2 banks origin country. If there is uncertainty about the type, it will be set to null. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInnerDomesticBankRouting.new(
+ number: null,
+ type: null
+)
+```
+
diff --git a/docs/GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentStatus.md b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentStatus.md
new file mode 100644
index 0000000..956e354
--- /dev/null
+++ b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentStatus.md
@@ -0,0 +1,15 @@
+# Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentStatus
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentStatus.new()
+```
+
diff --git a/docs/GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentType.md b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentType.md
new file mode 100644
index 0000000..13f43cc
--- /dev/null
+++ b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentType.md
@@ -0,0 +1,15 @@
+# Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentType
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentType.new()
+```
+
diff --git a/docs/GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInner.md b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInner.md
new file mode 100644
index 0000000..5431dad
--- /dev/null
+++ b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInner.md
@@ -0,0 +1,46 @@
+# Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **employee_id** | **String** | The Kombo ID of the employment’s employee. The ID can be used to retrieve the employee from the `get employees` endpoint. | |
+| **job_title** | **String** | This field can contain historic job titles. Please use the `job_title` field on the employee for the active job title of an employee. | |
+| **pay_rate** | **Float** | The monetary amount paid to an employee. | |
+| **pay_period** | [**GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayPeriod**](GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayPeriod.md) | | [optional] |
+| **pay_frequency** | [**GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayFrequency**](GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayFrequency.md) | | [optional] |
+| **employment_type** | [**GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentType**](GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentType.md) | | [optional] |
+| **pay_currency** | **String** | The currency that the employee is paid in. Usually returned in [ISO 4217 currency codes](https://www.iso.org/iso-4217-currency-codes.html). | |
+| **effective_date** | **Time** | The date of when the employment started. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+| **custom_fields** | **Hash<String, Object>** | A key-value store of fields not covered by the schema. [Read more](/custom-fields) | |
+| **integration_fields** | [**Array<GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner>**](GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner.md) | An array of selected passthrough integration fields. [Read more](/integration-fields) | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInner.new(
+ id: null,
+ remote_id: null,
+ employee_id: null,
+ job_title: null,
+ pay_rate: null,
+ pay_period: null,
+ pay_frequency: null,
+ employment_type: null,
+ pay_currency: null,
+ effective_date: null,
+ changed_at: null,
+ remote_deleted_at: null,
+ remote_data: null,
+ custom_fields: null,
+ integration_fields: null
+)
+```
+
diff --git a/docs/GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayFrequency.md b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayFrequency.md
new file mode 100644
index 0000000..3ad5f44
--- /dev/null
+++ b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayFrequency.md
@@ -0,0 +1,15 @@
+# Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayFrequency
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayFrequency.new()
+```
+
diff --git a/docs/GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayPeriod.md b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayPeriod.md
new file mode 100644
index 0000000..0a27926
--- /dev/null
+++ b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayPeriod.md
@@ -0,0 +1,15 @@
+# Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayPeriod
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInnerPayPeriod.new()
+```
+
diff --git a/docs/GetHrisEmployeesPositiveResponseDataResultsInnerEthnicity.md b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerEthnicity.md
new file mode 100644
index 0000000..8d48dbd
--- /dev/null
+++ b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerEthnicity.md
@@ -0,0 +1,15 @@
+# Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEthnicity
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerEthnicity.new()
+```
+
diff --git a/docs/GetHrisEmployeesPositiveResponseDataResultsInnerGender.md b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerGender.md
new file mode 100644
index 0000000..6ab9b10
--- /dev/null
+++ b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerGender.md
@@ -0,0 +1,15 @@
+# Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerGender
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerGender.new()
+```
+
diff --git a/docs/GetHrisEmployeesPositiveResponseDataResultsInnerGroupsInner.md b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerGroupsInner.md
new file mode 100644
index 0000000..34cbe50
--- /dev/null
+++ b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerGroupsInner.md
@@ -0,0 +1,24 @@
+# Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerGroupsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **name** | **String** | The name of the group. | |
+| **type** | **String** | Type of the group. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerGroupsInner.new(
+ id: null,
+ remote_id: null,
+ name: null,
+ type: null
+)
+```
+
diff --git a/docs/GetHrisEmployeesPositiveResponseDataResultsInnerHomeAddress.md b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerHomeAddress.md
new file mode 100644
index 0000000..96231e7
--- /dev/null
+++ b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerHomeAddress.md
@@ -0,0 +1,30 @@
+# Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerHomeAddress
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **city** | **String** | | [optional] |
+| **country** | **String** | Contains the ISO2 country code if possible. If not, it contains the original value. | [optional] |
+| **raw** | **String** | If we have address data, this is filled with the raw address string. | [optional] |
+| **state** | **String** | | [optional] |
+| **street_1** | **String** | If we can parse the address data, this field contains the first part of the street information. | [optional] |
+| **street_2** | **String** | | [optional] |
+| **zip_code** | **String** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerHomeAddress.new(
+ city: null,
+ country: null,
+ raw: null,
+ state: null,
+ street_1: null,
+ street_2: null,
+ zip_code: null
+)
+```
+
diff --git a/docs/GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner.md b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner.md
new file mode 100644
index 0000000..109f5fd
--- /dev/null
+++ b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner.md
@@ -0,0 +1,26 @@
+# Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object. | |
+| **key** | **String** | The key of the field in the remote system. | |
+| **type** | **String** | - `DEFAULT`: static fields in the remote system. - `CUSTOM`: fields that are created/editable by the user. | |
+| **value** | [**Null**](Null.md) | The field's value. | [optional] |
+| **label** | **String** | The label of the field. (not always available) | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner.new(
+ id: null,
+ key: null,
+ type: null,
+ value: null,
+ label: null
+)
+```
+
diff --git a/docs/GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntity.md b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntity.md
new file mode 100644
index 0000000..a355b2e
--- /dev/null
+++ b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntity.md
@@ -0,0 +1,24 @@
+# Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntity
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **name** | **String** | The legal entity’s name. | |
+| **address** | [**GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntityAddress**](GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntityAddress.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntity.new(
+ id: null,
+ remote_id: null,
+ name: null,
+ address: null
+)
+```
+
diff --git a/docs/GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntityAddress.md b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntityAddress.md
new file mode 100644
index 0000000..4bea0f3
--- /dev/null
+++ b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntityAddress.md
@@ -0,0 +1,30 @@
+# Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntityAddress
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **city** | **String** | | [optional] |
+| **country** | **String** | Contains the ISO2 country code if possible. If not, it contains the original value. | [optional] |
+| **raw** | **String** | If we have address data, this is filled with the raw address string. | [optional] |
+| **state** | **String** | | [optional] |
+| **street_1** | **String** | If we can parse the address data, this field contains the first part of the street information. | [optional] |
+| **street_2** | **String** | | [optional] |
+| **zip_code** | **String** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntityAddress.new(
+ city: null,
+ country: null,
+ raw: null,
+ state: null,
+ street_1: null,
+ street_2: null,
+ zip_code: null
+)
+```
+
diff --git a/docs/GetHrisEmployeesPositiveResponseDataResultsInnerManager.md b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerManager.md
new file mode 100644
index 0000000..4d41109
--- /dev/null
+++ b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerManager.md
@@ -0,0 +1,34 @@
+# Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerManager
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **first_name** | **String** | The employee’s first name. | |
+| **last_name** | **String** | The employee’s last name. | |
+| **display_full_name** | **String** | The employee’s full name, including any middle names. Not all HR systems provide an explicit display name, so we recommend falling back to `first_name` and `last_name`. | |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **employee_number** | **String** | The employee’s organization-internal employee number. | |
+| **work_email** | **String** | The employee’s work email address. If the email address is invalid, we will set this to `null`. | [optional] |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **employment_status** | [**GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentStatus**](GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentStatus.md) | | [optional] |
+| **termination_date** | **Time** | The date when the employment ends. Can be in the past or future. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerManager.new(
+ first_name: null,
+ last_name: null,
+ display_full_name: null,
+ id: null,
+ employee_number: null,
+ work_email: null,
+ remote_id: null,
+ employment_status: null,
+ termination_date: null
+)
+```
+
diff --git a/docs/GetHrisEmployeesPositiveResponseDataResultsInnerMaritalStatus.md b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerMaritalStatus.md
new file mode 100644
index 0000000..b947bd9
--- /dev/null
+++ b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerMaritalStatus.md
@@ -0,0 +1,15 @@
+# Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerMaritalStatus
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerMaritalStatus.new()
+```
+
diff --git a/docs/GetHrisEmployeesPositiveResponseDataResultsInnerTimeOffBalancesInner.md b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerTimeOffBalancesInner.md
new file mode 100644
index 0000000..6147a8b
--- /dev/null
+++ b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerTimeOffBalancesInner.md
@@ -0,0 +1,38 @@
+# Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerTimeOffBalancesInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **employee_id** | **String** | The Kombo ID of the employee to which the balance belongs to. The ID can be used to retrieve the employee from the `get employees` endpoint. | |
+| **type_id** | **String** | | |
+| **balance** | **Float** | The amount of time available to the employee. | |
+| **balance_unit** | **String** | The time-unit of the balance. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+| **used** | **Float** | The amount of time used by the employee. | |
+| **used_unit** | **String** | The time-unit of the used time. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerTimeOffBalancesInner.new(
+ id: null,
+ remote_id: null,
+ employee_id: null,
+ type_id: null,
+ balance: null,
+ balance_unit: null,
+ changed_at: null,
+ remote_deleted_at: null,
+ used: null,
+ used_unit: null,
+ remote_data: null
+)
+```
+
diff --git a/docs/GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocation.md b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocation.md
new file mode 100644
index 0000000..ef8333d
--- /dev/null
+++ b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocation.md
@@ -0,0 +1,32 @@
+# Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocation
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **name** | **String** | The work location’s name | |
+| **address** | [**GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocationAddress**](GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocationAddress.md) | | [optional] |
+| **type** | **String** | The work location’s type. A freeform string. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocation.new(
+ id: null,
+ remote_id: null,
+ name: null,
+ address: null,
+ type: null,
+ changed_at: null,
+ remote_deleted_at: null,
+ remote_data: null
+)
+```
+
diff --git a/docs/GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocationAddress.md b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocationAddress.md
new file mode 100644
index 0000000..eb7a892
--- /dev/null
+++ b/docs/GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocationAddress.md
@@ -0,0 +1,30 @@
+# Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocationAddress
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **city** | **String** | | [optional] |
+| **country** | **String** | Contains the ISO2 country code if possible. If not, it contains the original value. | [optional] |
+| **raw** | **String** | If we have address data, this is filled with the raw address string. | [optional] |
+| **state** | **String** | | [optional] |
+| **street_1** | **String** | If we can parse the address data, this field contains the first part of the street information. | [optional] |
+| **street_2** | **String** | | [optional] |
+| **zip_code** | **String** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocationAddress.new(
+ city: null,
+ country: null,
+ raw: null,
+ state: null,
+ street_1: null,
+ street_2: null,
+ zip_code: null
+)
+```
+
diff --git a/docs/GetHrisEmploymentsParameterIncludeDeleted.md b/docs/GetHrisEmploymentsParameterIncludeDeleted.md
new file mode 100644
index 0000000..caddbbd
--- /dev/null
+++ b/docs/GetHrisEmploymentsParameterIncludeDeleted.md
@@ -0,0 +1,15 @@
+# Kombo::GetHrisEmploymentsParameterIncludeDeleted
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmploymentsParameterIncludeDeleted.new()
+```
+
diff --git a/docs/GetHrisEmploymentsPositiveResponse.md b/docs/GetHrisEmploymentsPositiveResponse.md
new file mode 100644
index 0000000..978c161
--- /dev/null
+++ b/docs/GetHrisEmploymentsPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisEmploymentsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetHrisEmploymentsPositiveResponseData**](GetHrisEmploymentsPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmploymentsPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetHrisEmploymentsPositiveResponseData.md b/docs/GetHrisEmploymentsPositiveResponseData.md
new file mode 100644
index 0000000..f65be1f
--- /dev/null
+++ b/docs/GetHrisEmploymentsPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisEmploymentsPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInner>**](GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisEmploymentsPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetHrisGroupsParameterIncludeDeleted.md b/docs/GetHrisGroupsParameterIncludeDeleted.md
new file mode 100644
index 0000000..76c2a73
--- /dev/null
+++ b/docs/GetHrisGroupsParameterIncludeDeleted.md
@@ -0,0 +1,15 @@
+# Kombo::GetHrisGroupsParameterIncludeDeleted
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisGroupsParameterIncludeDeleted.new()
+```
+
diff --git a/docs/GetHrisGroupsPositiveResponse.md b/docs/GetHrisGroupsPositiveResponse.md
new file mode 100644
index 0000000..1d09a87
--- /dev/null
+++ b/docs/GetHrisGroupsPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisGroupsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetHrisTeamsPositiveResponseData**](GetHrisTeamsPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisGroupsPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetHrisJobPositionsPositiveResponse.md b/docs/GetHrisJobPositionsPositiveResponse.md
new file mode 100644
index 0000000..31fc2d9
--- /dev/null
+++ b/docs/GetHrisJobPositionsPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisJobPositionsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetHrisJobPositionsPositiveResponseData**](GetHrisJobPositionsPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisJobPositionsPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetHrisJobPositionsPositiveResponseData.md b/docs/GetHrisJobPositionsPositiveResponseData.md
new file mode 100644
index 0000000..f6ae072
--- /dev/null
+++ b/docs/GetHrisJobPositionsPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisJobPositionsPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetHrisJobPositionsPositiveResponseDataResultsInner>**](GetHrisJobPositionsPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisJobPositionsPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetHrisJobPositionsPositiveResponseDataResultsInner.md b/docs/GetHrisJobPositionsPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..0c04540
--- /dev/null
+++ b/docs/GetHrisJobPositionsPositiveResponseDataResultsInner.md
@@ -0,0 +1,42 @@
+# Kombo::GetHrisJobPositionsPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **name** | **String** | The name of the job position | |
+| **description** | **String** | The description of the job position | |
+| **legal_entity_id** | **String** | The ID of the legal entity | |
+| **location_id** | **String** | The ID of the location | |
+| **department_id** | **String** | The ID of the department | |
+| **group_ids** | **Array<String>** | The IDs of the groups associated with this position | |
+| **parent_position_id** | **String** | The ID of the parent job position | |
+| **skills** | [**Array<GetHrisJobPositionsPositiveResponseDataResultsInnerSkillsInner>**](GetHrisJobPositionsPositiveResponseDataResultsInnerSkillsInner.md) | The skills associated with this position | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisJobPositionsPositiveResponseDataResultsInner.new(
+ id: null,
+ remote_id: null,
+ name: null,
+ description: null,
+ legal_entity_id: null,
+ location_id: null,
+ department_id: null,
+ group_ids: null,
+ parent_position_id: null,
+ skills: null,
+ remote_data: null,
+ changed_at: null,
+ remote_deleted_at: null
+)
+```
+
diff --git a/docs/GetHrisJobPositionsPositiveResponseDataResultsInnerSkillsInner.md b/docs/GetHrisJobPositionsPositiveResponseDataResultsInnerSkillsInner.md
new file mode 100644
index 0000000..f68a907
--- /dev/null
+++ b/docs/GetHrisJobPositionsPositiveResponseDataResultsInnerSkillsInner.md
@@ -0,0 +1,26 @@
+# Kombo::GetHrisJobPositionsPositiveResponseDataResultsInnerSkillsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The ID of the skill. | |
+| **remote_id** | **String** | The remote ID of the skill. | |
+| **name** | **String** | The name of the skill. | |
+| **required** | **Boolean** | Whether this skill is required or optional for this position. | |
+| **required_level** | **String** | The required skill level for this position. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisJobPositionsPositiveResponseDataResultsInnerSkillsInner.new(
+ id: null,
+ remote_id: null,
+ name: null,
+ required: null,
+ required_level: null
+)
+```
+
diff --git a/docs/GetHrisLegalEntitiesParameterIncludeDeleted.md b/docs/GetHrisLegalEntitiesParameterIncludeDeleted.md
new file mode 100644
index 0000000..2508a67
--- /dev/null
+++ b/docs/GetHrisLegalEntitiesParameterIncludeDeleted.md
@@ -0,0 +1,15 @@
+# Kombo::GetHrisLegalEntitiesParameterIncludeDeleted
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisLegalEntitiesParameterIncludeDeleted.new()
+```
+
diff --git a/docs/GetHrisLegalEntitiesPositiveResponse.md b/docs/GetHrisLegalEntitiesPositiveResponse.md
new file mode 100644
index 0000000..9eae09f
--- /dev/null
+++ b/docs/GetHrisLegalEntitiesPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisLegalEntitiesPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetHrisLegalEntitiesPositiveResponseData**](GetHrisLegalEntitiesPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisLegalEntitiesPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetHrisLegalEntitiesPositiveResponseData.md b/docs/GetHrisLegalEntitiesPositiveResponseData.md
new file mode 100644
index 0000000..f5f8b47
--- /dev/null
+++ b/docs/GetHrisLegalEntitiesPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisLegalEntitiesPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetHrisLegalEntitiesPositiveResponseDataResultsInner>**](GetHrisLegalEntitiesPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisLegalEntitiesPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetHrisLegalEntitiesPositiveResponseDataResultsInner.md b/docs/GetHrisLegalEntitiesPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..ad4d9f4
--- /dev/null
+++ b/docs/GetHrisLegalEntitiesPositiveResponseDataResultsInner.md
@@ -0,0 +1,30 @@
+# Kombo::GetHrisLegalEntitiesPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **name** | **String** | The legal entity’s name. | |
+| **address** | [**GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntityAddress**](GetHrisEmployeesPositiveResponseDataResultsInnerLegalEntityAddress.md) | | [optional] |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisLegalEntitiesPositiveResponseDataResultsInner.new(
+ id: null,
+ remote_id: null,
+ name: null,
+ address: null,
+ changed_at: null,
+ remote_deleted_at: null,
+ remote_data: null
+)
+```
+
diff --git a/docs/GetHrisLocationsParameterIncludeDeleted.md b/docs/GetHrisLocationsParameterIncludeDeleted.md
new file mode 100644
index 0000000..8cdc4ce
--- /dev/null
+++ b/docs/GetHrisLocationsParameterIncludeDeleted.md
@@ -0,0 +1,15 @@
+# Kombo::GetHrisLocationsParameterIncludeDeleted
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisLocationsParameterIncludeDeleted.new()
+```
+
diff --git a/docs/GetHrisLocationsPositiveResponse.md b/docs/GetHrisLocationsPositiveResponse.md
new file mode 100644
index 0000000..31e543b
--- /dev/null
+++ b/docs/GetHrisLocationsPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisLocationsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetHrisLocationsPositiveResponseData**](GetHrisLocationsPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisLocationsPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetHrisLocationsPositiveResponseData.md b/docs/GetHrisLocationsPositiveResponseData.md
new file mode 100644
index 0000000..6b2d087
--- /dev/null
+++ b/docs/GetHrisLocationsPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisLocationsPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocation>**](GetHrisEmployeesPositiveResponseDataResultsInnerWorkLocation.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisLocationsPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetHrisPerformanceReviewCyclesParameterIncludeDeleted.md b/docs/GetHrisPerformanceReviewCyclesParameterIncludeDeleted.md
new file mode 100644
index 0000000..2c1dc27
--- /dev/null
+++ b/docs/GetHrisPerformanceReviewCyclesParameterIncludeDeleted.md
@@ -0,0 +1,15 @@
+# Kombo::GetHrisPerformanceReviewCyclesParameterIncludeDeleted
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisPerformanceReviewCyclesParameterIncludeDeleted.new()
+```
+
diff --git a/docs/GetHrisPerformanceReviewCyclesPositiveResponse.md b/docs/GetHrisPerformanceReviewCyclesPositiveResponse.md
new file mode 100644
index 0000000..b02ddbe
--- /dev/null
+++ b/docs/GetHrisPerformanceReviewCyclesPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisPerformanceReviewCyclesPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetHrisPerformanceReviewCyclesPositiveResponseData**](GetHrisPerformanceReviewCyclesPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisPerformanceReviewCyclesPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetHrisPerformanceReviewCyclesPositiveResponseData.md b/docs/GetHrisPerformanceReviewCyclesPositiveResponseData.md
new file mode 100644
index 0000000..0ff4f05
--- /dev/null
+++ b/docs/GetHrisPerformanceReviewCyclesPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisPerformanceReviewCyclesPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetHrisPerformanceReviewCyclesPositiveResponseDataResultsInner>**](GetHrisPerformanceReviewCyclesPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisPerformanceReviewCyclesPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetHrisPerformanceReviewCyclesPositiveResponseDataResultsInner.md b/docs/GetHrisPerformanceReviewCyclesPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..c8f40a3
--- /dev/null
+++ b/docs/GetHrisPerformanceReviewCyclesPositiveResponseDataResultsInner.md
@@ -0,0 +1,30 @@
+# Kombo::GetHrisPerformanceReviewCyclesPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **name** | **String** | The name of the performance review cycle. | |
+| **review_period_start_date** | **Time** | The start date of the review period of the performance review cycle. It is the start date of the evaluation timeframe and the earliest date reviews can be submitted for this cycle. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisPerformanceReviewCyclesPositiveResponseDataResultsInner.new(
+ id: null,
+ remote_id: null,
+ name: null,
+ review_period_start_date: null,
+ changed_at: null,
+ remote_deleted_at: null,
+ remote_data: null
+)
+```
+
diff --git a/docs/GetHrisPerformanceReviewsParameterIncludeDeleted.md b/docs/GetHrisPerformanceReviewsParameterIncludeDeleted.md
new file mode 100644
index 0000000..7a02257
--- /dev/null
+++ b/docs/GetHrisPerformanceReviewsParameterIncludeDeleted.md
@@ -0,0 +1,15 @@
+# Kombo::GetHrisPerformanceReviewsParameterIncludeDeleted
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisPerformanceReviewsParameterIncludeDeleted.new()
+```
+
diff --git a/docs/GetHrisPerformanceReviewsPositiveResponse.md b/docs/GetHrisPerformanceReviewsPositiveResponse.md
new file mode 100644
index 0000000..4d23d80
--- /dev/null
+++ b/docs/GetHrisPerformanceReviewsPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisPerformanceReviewsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetHrisPerformanceReviewsPositiveResponseData**](GetHrisPerformanceReviewsPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisPerformanceReviewsPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetHrisPerformanceReviewsPositiveResponseData.md b/docs/GetHrisPerformanceReviewsPositiveResponseData.md
new file mode 100644
index 0000000..af8e397
--- /dev/null
+++ b/docs/GetHrisPerformanceReviewsPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisPerformanceReviewsPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetHrisPerformanceReviewsPositiveResponseDataResultsInner>**](GetHrisPerformanceReviewsPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisPerformanceReviewsPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInner.md b/docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..fdfcc54
--- /dev/null
+++ b/docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInner.md
@@ -0,0 +1,38 @@
+# Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **type** | **String** | The relationship between the reviewee and reviewer. Manager: The reviewer is the manager of the reviewee. Direct Report: The reviewer is a direct report of the reviewee (reverse MANAGER). Peer: The reviewer is a peer of the reviewee. Self: The reviewer is the reviewee himself/herself. null: The relationship cannot be determined or the reviewer is missing. | |
+| **summary_comment** | **String** | The summary comment of the performance review. | |
+| **summary_rating** | [**GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRating**](GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRating.md) | | [optional] |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+| **reviewee** | [**GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewee**](GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewee.md) | | |
+| **reviewer** | [**GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewer**](GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewer.md) | | |
+| **review_cycle** | [**GetHrisPerformanceReviewCyclesPositiveResponseDataResultsInner**](GetHrisPerformanceReviewCyclesPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInner.new(
+ id: null,
+ remote_id: null,
+ type: null,
+ summary_comment: null,
+ summary_rating: null,
+ changed_at: null,
+ remote_deleted_at: null,
+ remote_data: null,
+ reviewee: null,
+ reviewer: null,
+ review_cycle: null
+)
+```
+
diff --git a/docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewee.md b/docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewee.md
new file mode 100644
index 0000000..b82b227
--- /dev/null
+++ b/docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewee.md
@@ -0,0 +1,30 @@
+# Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewee
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **first_name** | **String** | The employee’s first name. | |
+| **last_name** | **String** | The employee’s last name. | |
+| **display_full_name** | **String** | The employee’s full name, including any middle names. Not all HR systems provide an explicit display name, so we recommend falling back to `first_name` and `last_name`. | |
+| **work_email** | **String** | The employee’s work email address. If the email address is invalid, we will set this to `null`. | [optional] |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewee.new(
+ id: null,
+ remote_id: null,
+ first_name: null,
+ last_name: null,
+ display_full_name: null,
+ work_email: null,
+ remote_deleted_at: null
+)
+```
+
diff --git a/docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewer.md b/docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewer.md
new file mode 100644
index 0000000..6b561b9
--- /dev/null
+++ b/docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewer.md
@@ -0,0 +1,30 @@
+# Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewer
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **first_name** | **String** | The employee’s first name. | |
+| **last_name** | **String** | The employee’s last name. | |
+| **display_full_name** | **String** | The employee’s full name, including any middle names. Not all HR systems provide an explicit display name, so we recommend falling back to `first_name` and `last_name`. | |
+| **work_email** | **String** | The employee’s work email address. If the email address is invalid, we will set this to `null`. | [optional] |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerReviewer.new(
+ id: null,
+ remote_id: null,
+ first_name: null,
+ last_name: null,
+ display_full_name: null,
+ work_email: null,
+ remote_deleted_at: null
+)
+```
+
diff --git a/docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRating.md b/docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRating.md
new file mode 100644
index 0000000..74a2902
--- /dev/null
+++ b/docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRating.md
@@ -0,0 +1,26 @@
+# Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRating
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **type** | **String** | | |
+| **min** | **Float** | The minimum value of the summary rating. | |
+| **max** | **Float** | The maximum value of the summary rating. | |
+| **value** | **String** | The text value of the summary rating. | |
+| **ordered_options** | **Array<String>** | The options of the summary rating. Ordered from bad to good. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRating.new(
+ type: null,
+ min: null,
+ max: null,
+ value: null,
+ ordered_options: null
+)
+```
+
diff --git a/docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf.md b/docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf.md
new file mode 100644
index 0000000..850f7b6
--- /dev/null
+++ b/docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf.md
@@ -0,0 +1,24 @@
+# Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **type** | **String** | | |
+| **min** | **Float** | The minimum value of the summary rating. | |
+| **max** | **Float** | The maximum value of the summary rating. | |
+| **value** | **Float** | The numeric value of the summary rating. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf.new(
+ type: null,
+ min: null,
+ max: null,
+ value: null
+)
+```
+
diff --git a/docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf1.md b/docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf1.md
new file mode 100644
index 0000000..58f3631
--- /dev/null
+++ b/docs/GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf1.md
@@ -0,0 +1,22 @@
+# Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf1
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **type** | **String** | | |
+| **ordered_options** | **Array<String>** | The options of the summary rating. Ordered from bad to good. | |
+| **value** | **String** | The text value of the summary rating. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisPerformanceReviewsPositiveResponseDataResultsInnerSummaryRatingAnyOf1.new(
+ type: null,
+ ordered_options: null,
+ value: null
+)
+```
+
diff --git a/docs/GetHrisSkillsPositiveResponse.md b/docs/GetHrisSkillsPositiveResponse.md
new file mode 100644
index 0000000..8856da9
--- /dev/null
+++ b/docs/GetHrisSkillsPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisSkillsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetHrisSkillsPositiveResponseData**](GetHrisSkillsPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisSkillsPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetHrisSkillsPositiveResponseData.md b/docs/GetHrisSkillsPositiveResponseData.md
new file mode 100644
index 0000000..9183b0e
--- /dev/null
+++ b/docs/GetHrisSkillsPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisSkillsPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetHrisSkillsPositiveResponseDataResultsInner>**](GetHrisSkillsPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisSkillsPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetHrisSkillsPositiveResponseDataResultsInner.md b/docs/GetHrisSkillsPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..8a188bc
--- /dev/null
+++ b/docs/GetHrisSkillsPositiveResponseDataResultsInner.md
@@ -0,0 +1,32 @@
+# Kombo::GetHrisSkillsPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **name** | **String** | The name of the skill. | |
+| **description** | **String** | The description of the skill. | |
+| **ordered_levels** | **Array<String>** | List of available skill levels in order of proficiency (e.g., [\"Beginner\", \"Intermediate\", \"Advanced\"]). | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisSkillsPositiveResponseDataResultsInner.new(
+ id: null,
+ remote_id: null,
+ name: null,
+ description: null,
+ ordered_levels: null,
+ changed_at: null,
+ remote_deleted_at: null,
+ remote_data: null
+)
+```
+
diff --git a/docs/GetHrisTeamsParameterIncludeDeleted.md b/docs/GetHrisTeamsParameterIncludeDeleted.md
new file mode 100644
index 0000000..90cc013
--- /dev/null
+++ b/docs/GetHrisTeamsParameterIncludeDeleted.md
@@ -0,0 +1,15 @@
+# Kombo::GetHrisTeamsParameterIncludeDeleted
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisTeamsParameterIncludeDeleted.new()
+```
+
diff --git a/docs/GetHrisTeamsPositiveResponse.md b/docs/GetHrisTeamsPositiveResponse.md
new file mode 100644
index 0000000..b140942
--- /dev/null
+++ b/docs/GetHrisTeamsPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisTeamsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetHrisTeamsPositiveResponseData**](GetHrisTeamsPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisTeamsPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetHrisTeamsPositiveResponseData.md b/docs/GetHrisTeamsPositiveResponseData.md
new file mode 100644
index 0000000..73f4075
--- /dev/null
+++ b/docs/GetHrisTeamsPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisTeamsPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetHrisTeamsPositiveResponseDataResultsInner>**](GetHrisTeamsPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisTeamsPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetHrisTeamsPositiveResponseDataResultsInner.md b/docs/GetHrisTeamsPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..0f22ae9
--- /dev/null
+++ b/docs/GetHrisTeamsPositiveResponseDataResultsInner.md
@@ -0,0 +1,32 @@
+# Kombo::GetHrisTeamsPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **name** | **String** | The name of the group. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+| **type** | **String** | Type of the group. | |
+| **parent_id** | **String** | The Kombo ID of the group’s parent group in the organizational structure. The ID can be used to retrieve the group from the `get groups` endpoint. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisTeamsPositiveResponseDataResultsInner.new(
+ id: null,
+ remote_id: null,
+ name: null,
+ changed_at: null,
+ remote_deleted_at: null,
+ type: null,
+ parent_id: null,
+ remote_data: null
+)
+```
+
diff --git a/docs/GetHrisTimeOffBalancesParameterIncludeDeleted.md b/docs/GetHrisTimeOffBalancesParameterIncludeDeleted.md
new file mode 100644
index 0000000..fd8c411
--- /dev/null
+++ b/docs/GetHrisTimeOffBalancesParameterIncludeDeleted.md
@@ -0,0 +1,15 @@
+# Kombo::GetHrisTimeOffBalancesParameterIncludeDeleted
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisTimeOffBalancesParameterIncludeDeleted.new()
+```
+
diff --git a/docs/GetHrisTimeOffBalancesPositiveResponse.md b/docs/GetHrisTimeOffBalancesPositiveResponse.md
new file mode 100644
index 0000000..b867a62
--- /dev/null
+++ b/docs/GetHrisTimeOffBalancesPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisTimeOffBalancesPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetHrisTimeOffBalancesPositiveResponseData**](GetHrisTimeOffBalancesPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisTimeOffBalancesPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetHrisTimeOffBalancesPositiveResponseData.md b/docs/GetHrisTimeOffBalancesPositiveResponseData.md
new file mode 100644
index 0000000..201859c
--- /dev/null
+++ b/docs/GetHrisTimeOffBalancesPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisTimeOffBalancesPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetHrisTimeOffBalancesPositiveResponseDataResultsInner>**](GetHrisTimeOffBalancesPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisTimeOffBalancesPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetHrisTimeOffBalancesPositiveResponseDataResultsInner.md b/docs/GetHrisTimeOffBalancesPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..74426fc
--- /dev/null
+++ b/docs/GetHrisTimeOffBalancesPositiveResponseDataResultsInner.md
@@ -0,0 +1,40 @@
+# Kombo::GetHrisTimeOffBalancesPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **employee_id** | **String** | The Kombo ID of the employee to which the balance belongs to. The ID can be used to retrieve the employee from the `get employees` endpoint. | |
+| **type_id** | **String** | | |
+| **balance** | **Float** | The amount of time available to the employee. | |
+| **balance_unit** | **String** | The time-unit of the balance. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+| **used** | **Float** | The amount of time used by the employee. | |
+| **used_unit** | **String** | The time-unit of the used time. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+| **type** | [**GetHrisAbsenceTypesPositiveResponseDataResultsInner**](GetHrisAbsenceTypesPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisTimeOffBalancesPositiveResponseDataResultsInner.new(
+ id: null,
+ remote_id: null,
+ employee_id: null,
+ type_id: null,
+ balance: null,
+ balance_unit: null,
+ changed_at: null,
+ remote_deleted_at: null,
+ used: null,
+ used_unit: null,
+ remote_data: null,
+ type: null
+)
+```
+
diff --git a/docs/GetHrisTimesheetsParameterIncludeDeleted.md b/docs/GetHrisTimesheetsParameterIncludeDeleted.md
new file mode 100644
index 0000000..783de35
--- /dev/null
+++ b/docs/GetHrisTimesheetsParameterIncludeDeleted.md
@@ -0,0 +1,15 @@
+# Kombo::GetHrisTimesheetsParameterIncludeDeleted
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisTimesheetsParameterIncludeDeleted.new()
+```
+
diff --git a/docs/GetHrisTimesheetsPositiveResponse.md b/docs/GetHrisTimesheetsPositiveResponse.md
new file mode 100644
index 0000000..bff9ea1
--- /dev/null
+++ b/docs/GetHrisTimesheetsPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisTimesheetsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetHrisTimesheetsPositiveResponseData**](GetHrisTimesheetsPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisTimesheetsPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetHrisTimesheetsPositiveResponseData.md b/docs/GetHrisTimesheetsPositiveResponseData.md
new file mode 100644
index 0000000..eda7b90
--- /dev/null
+++ b/docs/GetHrisTimesheetsPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetHrisTimesheetsPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetHrisTimesheetsPositiveResponseDataResultsInner>**](GetHrisTimesheetsPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisTimesheetsPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetHrisTimesheetsPositiveResponseDataResultsInner.md b/docs/GetHrisTimesheetsPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..a0374a8
--- /dev/null
+++ b/docs/GetHrisTimesheetsPositiveResponseDataResultsInner.md
@@ -0,0 +1,50 @@
+# Kombo::GetHrisTimesheetsPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **employee_id** | **String** | The Kombo ID of the employee to which the timesheet belongs. The ID can be used to retrieve the employee from the `get employees` endpoint. | |
+| **started_at** | **Time** | Start time of the shift, converted into UTC time zone. | |
+| **ended_at** | **Time** | End time of the shift, converted into UTC time zone. | |
+| **timezone** | **String** | The ISO 8601 numeric UTC offset of the timesheet location in the format ±HH:MM (e.g., \"+02:00\", \"-05:30\"). If null, the original offset information was not available. You can use this to display the right timezone for the timesheet in the UI. | |
+| **payable_hours** | **Float** | Payable hours including grace periods - only if available in the HRIS. Won't be calculated through Kombo. | |
+| **unpaid_break_minutes** | **Float** | Unpaid break in minutes - will be from the HRIS or calculated by Kombo if we have concrete unpaid break times. | |
+| **breaks** | [**Array<GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInner>**](GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInner.md) | Concrete times of the breaks. | [optional] |
+| **approval_status** | **String** | Approval status of the shift. Can be PENDING, APPROVED, REJECTED, or null. | |
+| **approved_at** | **Time** | The time when the shift was approved. | |
+| **comment** | **String** | Comment on the shift. | |
+| **custom_fields** | **Hash<String, Object>** | A key-value store of fields not covered by the schema. [Read more](/custom-fields) | |
+| **integration_fields** | [**Array<GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner>**](GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner.md) | An array of selected passthrough integration fields. [Read more](/integration-fields) | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisTimesheetsPositiveResponseDataResultsInner.new(
+ id: null,
+ remote_id: null,
+ employee_id: null,
+ started_at: null,
+ ended_at: null,
+ timezone: null,
+ payable_hours: null,
+ unpaid_break_minutes: null,
+ breaks: null,
+ approval_status: null,
+ approved_at: null,
+ comment: null,
+ custom_fields: null,
+ integration_fields: null,
+ changed_at: null,
+ remote_deleted_at: null,
+ remote_data: null
+)
+```
+
diff --git a/docs/GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInner.md b/docs/GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInner.md
new file mode 100644
index 0000000..5395341
--- /dev/null
+++ b/docs/GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInner.md
@@ -0,0 +1,22 @@
+# Kombo::GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **ended_at** | [**GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerEndedAt**](GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerEndedAt.md) | | |
+| **paid** | **Boolean** | Whether the break is paid or unpaid. | |
+| **started_at** | [**GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerStartedAt**](GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerStartedAt.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInner.new(
+ ended_at: null,
+ paid: null,
+ started_at: null
+)
+```
+
diff --git a/docs/GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerEndedAt.md b/docs/GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerEndedAt.md
new file mode 100644
index 0000000..ad1e97d
--- /dev/null
+++ b/docs/GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerEndedAt.md
@@ -0,0 +1,15 @@
+# Kombo::GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerEndedAt
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerEndedAt.new()
+```
+
diff --git a/docs/GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerStartedAt.md b/docs/GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerStartedAt.md
new file mode 100644
index 0000000..203bf02
--- /dev/null
+++ b/docs/GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerStartedAt.md
@@ -0,0 +1,15 @@
+# Kombo::GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerStartedAt
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetHrisTimesheetsPositiveResponseDataResultsInnerBreaksInnerStartedAt.new()
+```
+
diff --git a/docs/GetIntegrationsIntegrationIdCustomFieldsPositiveResponse.md b/docs/GetIntegrationsIntegrationIdCustomFieldsPositiveResponse.md
new file mode 100644
index 0000000..f191974
--- /dev/null
+++ b/docs/GetIntegrationsIntegrationIdCustomFieldsPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetIntegrationsIntegrationIdCustomFieldsPositiveResponseData**](GetIntegrationsIntegrationIdCustomFieldsPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetIntegrationsIntegrationIdCustomFieldsPositiveResponseData.md b/docs/GetIntegrationsIntegrationIdCustomFieldsPositiveResponseData.md
new file mode 100644
index 0000000..76b1132
--- /dev/null
+++ b/docs/GetIntegrationsIntegrationIdCustomFieldsPositiveResponseData.md
@@ -0,0 +1,22 @@
+# Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **results** | [**Array<GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInner>**](GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInner.md) | | |
+| **next_cursor** | **String** | **(⚠️ Deprecated - Use `next` instead.)** Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponseData.new(
+ results: null,
+ next_cursor: null,
+ _next: null
+)
+```
+
diff --git a/docs/GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInner.md b/docs/GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..4fe7608
--- /dev/null
+++ b/docs/GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInner.md
@@ -0,0 +1,28 @@
+# Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The unique ID of the field | |
+| **key** | **String** | The key of the custom field as it will be used in the custom_field object of the corresponding model | |
+| **integration_field** | [**GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInnerIntegrationField**](GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInnerIntegrationField.md) | | |
+| **model** | **String** | The model the field is associated with | |
+| **label** | **String** | The label of the custom field | |
+| **description** | **String** | The description of the custom field | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInner.new(
+ id: null,
+ key: null,
+ integration_field: null,
+ model: null,
+ label: null,
+ description: null
+)
+```
+
diff --git a/docs/GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInnerIntegrationField.md b/docs/GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInnerIntegrationField.md
new file mode 100644
index 0000000..83ca997
--- /dev/null
+++ b/docs/GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInnerIntegrationField.md
@@ -0,0 +1,24 @@
+# Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInnerIntegrationField
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The integration field's unique ID | |
+| **key** | **String** | The key of the integration field in the remote system | |
+| **type** | **String** | The type of the integration field. There is a type to avoid collisions between DEFAULT fields and CUSTOM fields with the same key. | |
+| **label** | **String** | The label of the integration field in the remote system | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInnerIntegrationField.new(
+ id: null,
+ key: null,
+ type: null,
+ label: null
+)
+```
+
diff --git a/docs/GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponse.md b/docs/GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponse.md
new file mode 100644
index 0000000..dac1a7a
--- /dev/null
+++ b/docs/GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseData**](GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseData.md b/docs/GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseData.md
new file mode 100644
index 0000000..dcf00ae
--- /dev/null
+++ b/docs/GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseData.md
@@ -0,0 +1,22 @@
+# Kombo::GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **results** | [**Array<GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseDataResultsInner>**](GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseDataResultsInner.md) | | |
+| **next_cursor** | **String** | **(⚠️ Deprecated - Use `next` instead.)** Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseData.new(
+ results: null,
+ next_cursor: null,
+ _next: null
+)
+```
+
diff --git a/docs/GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseDataResultsInner.md b/docs/GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..8893189
--- /dev/null
+++ b/docs/GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseDataResultsInner.md
@@ -0,0 +1,30 @@
+# Kombo::GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The unique ID of the field. | |
+| **key** | **String** | The key of the field in the remote system. | |
+| **model** | **String** | The model the field is associated with. | |
+| **type** | **String** | The type of the integration field. There is a type to avoid collisions between DEFAULT fields and CUSTOM fields with the same key. | |
+| **label** | **String** | The label of the field in the remote system. | |
+| **is_passthrough_enabled** | **Boolean** | Whether the field is included in the integrations_fields array of the corresponding model. | |
+| **is_writable** | **Boolean** | This field is related to a deprecated feature and means nothing, but is kept for backwards compatibility. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseDataResultsInner.new(
+ id: null,
+ key: null,
+ model: null,
+ type: null,
+ label: null,
+ is_passthrough_enabled: null,
+ is_writable: null
+)
+```
+
diff --git a/docs/GetIntegrationsIntegrationIdPositiveResponse.md b/docs/GetIntegrationsIntegrationIdPositiveResponse.md
new file mode 100644
index 0000000..32ca416
--- /dev/null
+++ b/docs/GetIntegrationsIntegrationIdPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetIntegrationsIntegrationIdPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetIntegrationsIntegrationIdPositiveResponseData**](GetIntegrationsIntegrationIdPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetIntegrationsIntegrationIdPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetIntegrationsIntegrationIdPositiveResponseData.md b/docs/GetIntegrationsIntegrationIdPositiveResponseData.md
new file mode 100644
index 0000000..c95f17f
--- /dev/null
+++ b/docs/GetIntegrationsIntegrationIdPositiveResponseData.md
@@ -0,0 +1,36 @@
+# Kombo::GetIntegrationsIntegrationIdPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | | |
+| **tool** | [**GetIntegrationsIntegrationIdPositiveResponseDataTool**](GetIntegrationsIntegrationIdPositiveResponseDataTool.md) | | |
+| **category** | **String** | | |
+| **status** | **String** | The current status of the integration. - `ACTIVE`: The integration is syncing data as expected. - `INVALID`: The integration has stopped syncing data because of invalid credentials. To fix this, reach out to your customer to [reconnect the integration](../guides/integration-states#credentials-invalid). - `INACTIVE`: The integration has stopped syncing as it's been manually set to inactive. You can [enable it again](../guides/integration-states#inactive) in the integration's page. | |
+| **setup_status** | **String** | The setup_status is used in conjunction with the filtering and field mapping features. If these are enabled in the connection flow, the integration will start in an \"INCOMPLETE\" state and move to \"COMPLETE\" once all steps are finished. - `INCOMPLETE`: Setup is still in progress. Some steps aren’t finished, so no data is available yet. Syncs only run as needed for setup. - `FINAL_SYNC_PENDING`: Setup is complete, and the final sync is running. Data will be available after this sync is done. - `COMPLETED`: Setup is fully finished, and the integration is ready to use. | |
+| **end_user** | [**GetIntegrationsIntegrationIdPositiveResponseDataEndUser**](GetIntegrationsIntegrationIdPositiveResponseDataEndUser.md) | | |
+| **scope_config** | [**GetIntegrationsIntegrationIdPositiveResponseDataScopeConfig**](GetIntegrationsIntegrationIdPositiveResponseDataScopeConfig.md) | | |
+| **created_at** | **Time** | YYYY-MM-DDTHH:mm:ss.sssZ | |
+| **beta** | **Boolean** | | |
+| **read_models** | [**Array<GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInner>**](GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetIntegrationsIntegrationIdPositiveResponseData.new(
+ id: null,
+ tool: null,
+ category: null,
+ status: null,
+ setup_status: null,
+ end_user: null,
+ scope_config: null,
+ created_at: null,
+ beta: null,
+ read_models: null
+)
+```
+
diff --git a/docs/GetIntegrationsIntegrationIdPositiveResponseDataEndUser.md b/docs/GetIntegrationsIntegrationIdPositiveResponseDataEndUser.md
new file mode 100644
index 0000000..5aaf180
--- /dev/null
+++ b/docs/GetIntegrationsIntegrationIdPositiveResponseDataEndUser.md
@@ -0,0 +1,22 @@
+# Kombo::GetIntegrationsIntegrationIdPositiveResponseDataEndUser
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **organization_name** | **String** | | |
+| **creator_email** | **String** | | |
+| **origin_id** | **String** | The ID you have passed initially to the connection flow to create this integration. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetIntegrationsIntegrationIdPositiveResponseDataEndUser.new(
+ organization_name: null,
+ creator_email: null,
+ origin_id: null
+)
+```
+
diff --git a/docs/GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInner.md b/docs/GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInner.md
new file mode 100644
index 0000000..46196a4
--- /dev/null
+++ b/docs/GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInner.md
@@ -0,0 +1,30 @@
+# Kombo::GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | ID of the model (e.g. hris_employees). | |
+| **label** | **String** | Label of the model (e.g. Employees). | |
+| **is_available** | **Boolean** | Whether the datapoint is available and enabled and not opted out of. | |
+| **coverage_status** | **String** | The status of a datapoint of an integrated tool: - `SUPPORTED`: the tool supports the datapoint and it can be used through Kombo. - `UNSUPPORTED`: the tool does not support the datapoint. - `NOT_IMPLEMENTED`: tool supports the datapoint but it was not integrated by Kombo for a given reason (see coverage grid). - `UNKNOWN`: the datapoint is not integrated yet and Kombo has no information about it's availability in the tool. | |
+| **scope_config_setting** | **String** | The setting of the datapoint in the scope config that you configured in the Kombo dashboard. | |
+| **opted_out_by_customer** | **Boolean** | Whether the datapoint is opted out by your customer in the connection flow. | |
+| **fields** | [**Array<GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInnerFieldsInner>**](GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInnerFieldsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInner.new(
+ id: null,
+ label: null,
+ is_available: null,
+ coverage_status: null,
+ scope_config_setting: null,
+ opted_out_by_customer: null,
+ fields: null
+)
+```
+
diff --git a/docs/GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInnerFieldsInner.md b/docs/GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInnerFieldsInner.md
new file mode 100644
index 0000000..61c9a41
--- /dev/null
+++ b/docs/GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInnerFieldsInner.md
@@ -0,0 +1,26 @@
+# Kombo::GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInnerFieldsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | Key of the field in the API (e.g. first_name). | |
+| **is_available** | **Boolean** | Whether the datapoint is available and enabled and not opted out of. | |
+| **coverage_status** | **String** | The status of a datapoint of an integrated tool: - `SUPPORTED`: the tool supports the datapoint and it can be used through Kombo. - `UNSUPPORTED`: the tool does not support the datapoint. - `NOT_IMPLEMENTED`: tool supports the datapoint but it was not integrated by Kombo for a given reason (see coverage grid). - `UNKNOWN`: the datapoint is not integrated yet and Kombo has no information about it's availability in the tool. | |
+| **scope_config_setting** | **String** | The setting of the datapoint in the scope config that you configured in the Kombo dashboard. | |
+| **opted_out_by_customer** | **Boolean** | Whether the datapoint is opted out by your customer in the connection flow. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetIntegrationsIntegrationIdPositiveResponseDataReadModelsInnerFieldsInner.new(
+ id: null,
+ is_available: null,
+ coverage_status: null,
+ scope_config_setting: null,
+ opted_out_by_customer: null
+)
+```
+
diff --git a/docs/GetIntegrationsIntegrationIdPositiveResponseDataScopeConfig.md b/docs/GetIntegrationsIntegrationIdPositiveResponseDataScopeConfig.md
new file mode 100644
index 0000000..0babdf7
--- /dev/null
+++ b/docs/GetIntegrationsIntegrationIdPositiveResponseDataScopeConfig.md
@@ -0,0 +1,20 @@
+# Kombo::GetIntegrationsIntegrationIdPositiveResponseDataScopeConfig
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | | |
+| **name** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetIntegrationsIntegrationIdPositiveResponseDataScopeConfig.new(
+ id: null,
+ name: null
+)
+```
+
diff --git a/docs/GetIntegrationsIntegrationIdPositiveResponseDataTool.md b/docs/GetIntegrationsIntegrationIdPositiveResponseDataTool.md
new file mode 100644
index 0000000..0c22556
--- /dev/null
+++ b/docs/GetIntegrationsIntegrationIdPositiveResponseDataTool.md
@@ -0,0 +1,26 @@
+# Kombo::GetIntegrationsIntegrationIdPositiveResponseDataTool
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The ID of the connected tool in Kombo (e.g. `factorial`). | |
+| **label** | **String** | | |
+| **internal_label** | **String** | Internal label that can help you debug specific variants of the integration. Only show the `label` to your users. | |
+| **logo_url** | **String** | URL to an SVG logo of the connected tool. The logo usually contains the tool name. | |
+| **icon_url** | **String** | URL to a square SVG icon of the connected tool. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetIntegrationsIntegrationIdPositiveResponseDataTool.new(
+ id: null,
+ label: null,
+ internal_label: null,
+ logo_url: null,
+ icon_url: null
+)
+```
+
diff --git a/docs/GetLmsCoursesPositiveResponse.md b/docs/GetLmsCoursesPositiveResponse.md
new file mode 100644
index 0000000..a0e5a52
--- /dev/null
+++ b/docs/GetLmsCoursesPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetLmsCoursesPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetLmsCoursesPositiveResponseData**](GetLmsCoursesPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetLmsCoursesPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetLmsCoursesPositiveResponseData.md b/docs/GetLmsCoursesPositiveResponseData.md
new file mode 100644
index 0000000..d742ddc
--- /dev/null
+++ b/docs/GetLmsCoursesPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetLmsCoursesPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetLmsCoursesPositiveResponseDataResultsInner>**](GetLmsCoursesPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetLmsCoursesPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetLmsCoursesPositiveResponseDataResultsInner.md b/docs/GetLmsCoursesPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..f34a4c4
--- /dev/null
+++ b/docs/GetLmsCoursesPositiveResponseDataResultsInner.md
@@ -0,0 +1,38 @@
+# Kombo::GetLmsCoursesPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **title** | **String** | The title of the course. | |
+| **description** | **String** | A description of the course. | |
+| **url** | **String** | URL where the course can be accessed. | |
+| **remote_created_at** | **Time** | The date and time the object was created in the remote system. | |
+| **skills** | [**Array<GetLmsCoursesPositiveResponseDataResultsInnerSkillsInner>**](GetLmsCoursesPositiveResponseDataResultsInnerSkillsInner.md) | Skills that learners will develop by completing this course. | |
+| **ordered_content** | [**Array<GetLmsCoursesPositiveResponseDataResultsInnerOrderedContentInner>**](GetLmsCoursesPositiveResponseDataResultsInnerOrderedContentInner.md) | Ordered list of content items that make up this course. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **String** | Date when the course was deleted. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetLmsCoursesPositiveResponseDataResultsInner.new(
+ id: null,
+ remote_id: null,
+ title: null,
+ description: null,
+ url: null,
+ remote_created_at: null,
+ skills: null,
+ ordered_content: null,
+ changed_at: null,
+ remote_deleted_at: null,
+ remote_data: null
+)
+```
+
diff --git a/docs/GetLmsCoursesPositiveResponseDataResultsInnerOrderedContentInner.md b/docs/GetLmsCoursesPositiveResponseDataResultsInnerOrderedContentInner.md
new file mode 100644
index 0000000..315f1a3
--- /dev/null
+++ b/docs/GetLmsCoursesPositiveResponseDataResultsInnerOrderedContentInner.md
@@ -0,0 +1,30 @@
+# Kombo::GetLmsCoursesPositiveResponseDataResultsInnerOrderedContentInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The Kombo ID of the content item. | |
+| **remote_id** | **String** | The remote ID of the content item. | |
+| **title** | **String** | The title of the content item. | |
+| **description** | **String** | A description of the content item. | |
+| **url** | **String** | URL where the content can be accessed. | |
+| **type** | **String** | The type of learning content. | |
+| **remote_created_at** | **Time** | The date and time the object was created in the remote system. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetLmsCoursesPositiveResponseDataResultsInnerOrderedContentInner.new(
+ id: null,
+ remote_id: null,
+ title: null,
+ description: null,
+ url: null,
+ type: null,
+ remote_created_at: null
+)
+```
+
diff --git a/docs/GetLmsCoursesPositiveResponseDataResultsInnerSkillsInner.md b/docs/GetLmsCoursesPositiveResponseDataResultsInnerSkillsInner.md
new file mode 100644
index 0000000..1257f91
--- /dev/null
+++ b/docs/GetLmsCoursesPositiveResponseDataResultsInnerSkillsInner.md
@@ -0,0 +1,20 @@
+# Kombo::GetLmsCoursesPositiveResponseDataResultsInnerSkillsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **name** | **String** | The name of the skill. | |
+| **skill_level** | **String** | The proficiency level of the skill (e.g., \"Beginner\", \"Intermediate\", \"Advanced\"). | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetLmsCoursesPositiveResponseDataResultsInnerSkillsInner.new(
+ name: null,
+ skill_level: null
+)
+```
+
diff --git a/docs/GetLmsUsersParameterStatus.md b/docs/GetLmsUsersParameterStatus.md
new file mode 100644
index 0000000..5cca887
--- /dev/null
+++ b/docs/GetLmsUsersParameterStatus.md
@@ -0,0 +1,15 @@
+# Kombo::GetLmsUsersParameterStatus
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetLmsUsersParameterStatus.new()
+```
+
diff --git a/docs/GetLmsUsersPositiveResponse.md b/docs/GetLmsUsersPositiveResponse.md
new file mode 100644
index 0000000..343266e
--- /dev/null
+++ b/docs/GetLmsUsersPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetLmsUsersPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetLmsUsersPositiveResponseData**](GetLmsUsersPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetLmsUsersPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetLmsUsersPositiveResponseData.md b/docs/GetLmsUsersPositiveResponseData.md
new file mode 100644
index 0000000..f82aa92
--- /dev/null
+++ b/docs/GetLmsUsersPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::GetLmsUsersPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **_next** | **String** | Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages. | |
+| **results** | [**Array<GetLmsUsersPositiveResponseDataResultsInner>**](GetLmsUsersPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetLmsUsersPositiveResponseData.new(
+ _next: null,
+ results: null
+)
+```
+
diff --git a/docs/GetLmsUsersPositiveResponseDataResultsInner.md b/docs/GetLmsUsersPositiveResponseDataResultsInner.md
new file mode 100644
index 0000000..bf85452
--- /dev/null
+++ b/docs/GetLmsUsersPositiveResponseDataResultsInner.md
@@ -0,0 +1,36 @@
+# Kombo::GetLmsUsersPositiveResponseDataResultsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **first_name** | **String** | The user's first name. | |
+| **last_name** | **String** | The user's last name. | |
+| **work_email** | **String** | The user's work email address. | |
+| **status** | **String** | Current status of the user in the LMS. | |
+| **remote_created_at** | **Time** | The date and time the object was created in the remote system. | |
+| **progress** | [**Array<GetLmsUsersPositiveResponseDataResultsInnerProgressInner>**](GetLmsUsersPositiveResponseDataResultsInnerProgressInner.md) | Array of course progress records for this user. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetLmsUsersPositiveResponseDataResultsInner.new(
+ id: null,
+ remote_id: null,
+ first_name: null,
+ last_name: null,
+ work_email: null,
+ status: null,
+ remote_created_at: null,
+ progress: null,
+ changed_at: null,
+ remote_data: null
+)
+```
+
diff --git a/docs/GetLmsUsersPositiveResponseDataResultsInnerProgressInner.md b/docs/GetLmsUsersPositiveResponseDataResultsInnerProgressInner.md
new file mode 100644
index 0000000..2819cc9
--- /dev/null
+++ b/docs/GetLmsUsersPositiveResponseDataResultsInnerProgressInner.md
@@ -0,0 +1,32 @@
+# Kombo::GetLmsUsersPositiveResponseDataResultsInnerProgressInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **course_id** | **String** | The ID of the course this progress relates to. | |
+| **progress_id** | **String** | Unique identifier for this progress entry. | |
+| **status** | **String** | Current status of the learner in this course. | |
+| **enrollment_date** | **String** | Date when the user enrolled in the course. | |
+| **completion_date** | **String** | Date when the user completed the course. | |
+| **score** | **Float** | Numerical score achieved by the user (e.g., 85.5). | |
+| **duration** | **Float** | Total time spent on the course in minutes. | |
+| **comments** | **String** | Additional comments or notes about the progress. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetLmsUsersPositiveResponseDataResultsInnerProgressInner.new(
+ course_id: null,
+ progress_id: null,
+ status: null,
+ enrollment_date: null,
+ completion_date: null,
+ score: null,
+ duration: null,
+ comments: null
+)
+```
+
diff --git a/docs/GetToolsCategoryParameterCategory.md b/docs/GetToolsCategoryParameterCategory.md
new file mode 100644
index 0000000..ff4a96a
--- /dev/null
+++ b/docs/GetToolsCategoryParameterCategory.md
@@ -0,0 +1,15 @@
+# Kombo::GetToolsCategoryParameterCategory
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetToolsCategoryParameterCategory.new()
+```
+
diff --git a/docs/GetToolsCategoryPositiveResponse.md b/docs/GetToolsCategoryPositiveResponse.md
new file mode 100644
index 0000000..3cd87fe
--- /dev/null
+++ b/docs/GetToolsCategoryPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::GetToolsCategoryPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetToolsCategoryPositiveResponseData**](GetToolsCategoryPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetToolsCategoryPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/GetToolsCategoryPositiveResponseData.md b/docs/GetToolsCategoryPositiveResponseData.md
new file mode 100644
index 0000000..43cbcbe
--- /dev/null
+++ b/docs/GetToolsCategoryPositiveResponseData.md
@@ -0,0 +1,18 @@
+# Kombo::GetToolsCategoryPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **tools** | [**Array<GetToolsCategoryPositiveResponseDataToolsInner>**](GetToolsCategoryPositiveResponseDataToolsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetToolsCategoryPositiveResponseData.new(
+ tools: null
+)
+```
+
diff --git a/docs/GetToolsCategoryPositiveResponseDataToolsInner.md b/docs/GetToolsCategoryPositiveResponseDataToolsInner.md
new file mode 100644
index 0000000..8256cd9
--- /dev/null
+++ b/docs/GetToolsCategoryPositiveResponseDataToolsInner.md
@@ -0,0 +1,34 @@
+# Kombo::GetToolsCategoryPositiveResponseDataToolsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | | |
+| **label** | **String** | | |
+| **internal_label** | **String** | Internal label that can help you debug specific variants of the integration. Only show the `label` to your users. | |
+| **assets** | [**GetToolsCategoryPositiveResponseDataToolsInnerAssets**](GetToolsCategoryPositiveResponseDataToolsInnerAssets.md) | | |
+| **paid_api_details_markdown** | **String** | Markdown formatted text that describes details about the paid API. `null` if the tool is not paid. | |
+| **fast_track_details_markdown** | **String** | Markdown formatted text that describes details about the fast track process. `null` if the fast track process is not available. | |
+| **partner_only_details_markdown** | **String** | Markdown formatted text that describes partnership requirements. `null` if the tool does not require a partnership. | |
+| **connection_guide_url** | **String** | URL to the connection guide for this tool. `null` if no connection guide is available. | |
+| **coverage** | [**GetToolsCategoryPositiveResponseDataToolsInnerCoverage**](GetToolsCategoryPositiveResponseDataToolsInnerCoverage.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetToolsCategoryPositiveResponseDataToolsInner.new(
+ id: null,
+ label: null,
+ internal_label: null,
+ assets: null,
+ paid_api_details_markdown: null,
+ fast_track_details_markdown: null,
+ partner_only_details_markdown: null,
+ connection_guide_url: null,
+ coverage: null
+)
+```
+
diff --git a/docs/GetToolsCategoryPositiveResponseDataToolsInnerAssets.md b/docs/GetToolsCategoryPositiveResponseDataToolsInnerAssets.md
new file mode 100644
index 0000000..9349b47
--- /dev/null
+++ b/docs/GetToolsCategoryPositiveResponseDataToolsInnerAssets.md
@@ -0,0 +1,22 @@
+# Kombo::GetToolsCategoryPositiveResponseDataToolsInnerAssets
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **logo_url** | **String** | | |
+| **icon_url** | **String** | | |
+| **icon_black_url** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetToolsCategoryPositiveResponseDataToolsInnerAssets.new(
+ logo_url: null,
+ icon_url: null,
+ icon_black_url: null
+)
+```
+
diff --git a/docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverage.md b/docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverage.md
new file mode 100644
index 0000000..f799ff5
--- /dev/null
+++ b/docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverage.md
@@ -0,0 +1,22 @@
+# Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverage
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **read_models** | [**Array<GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInner>**](GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInner.md) | | |
+| **write_actions** | [**Array<GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInner>**](GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInner.md) | | |
+| **features** | [**Array<GetToolsCategoryPositiveResponseDataToolsInnerCoverageFeaturesInner>**](GetToolsCategoryPositiveResponseDataToolsInnerCoverageFeaturesInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverage.new(
+ read_models: null,
+ write_actions: null,
+ features: null
+)
+```
+
diff --git a/docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverageFeaturesInner.md b/docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverageFeaturesInner.md
new file mode 100644
index 0000000..300300b
--- /dev/null
+++ b/docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverageFeaturesInner.md
@@ -0,0 +1,22 @@
+# Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageFeaturesInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | | |
+| **label** | **String** | | |
+| **coverage_status** | **String** | The status of a datapoint of an integrated tool: - `SUPPORTED`: the tool supports the datapoint and it can be used through Kombo. - `UNSUPPORTED`: the tool does not support the datapoint. - `NOT_IMPLEMENTED`: tool supports the datapoint but it was not integrated by Kombo for a given reason (see coverage grid). - `UNKNOWN`: the datapoint is not integrated yet and Kombo has no information about it's availability in the tool. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageFeaturesInner.new(
+ id: null,
+ label: null,
+ coverage_status: null
+)
+```
+
diff --git a/docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInner.md b/docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInner.md
new file mode 100644
index 0000000..47d5ab9
--- /dev/null
+++ b/docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInner.md
@@ -0,0 +1,24 @@
+# Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | ID of the model (e.g. hris_employees). | |
+| **label** | **String** | Label of the model (e.g. Employees). | |
+| **coverage_status** | **String** | The status of a datapoint of an integrated tool: - `SUPPORTED`: the tool supports the datapoint and it can be used through Kombo. - `UNSUPPORTED`: the tool does not support the datapoint. - `NOT_IMPLEMENTED`: tool supports the datapoint but it was not integrated by Kombo for a given reason (see coverage grid). - `UNKNOWN`: the datapoint is not integrated yet and Kombo has no information about it's availability in the tool. | |
+| **fields** | [**Array<GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInnerFieldsInner>**](GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInnerFieldsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInner.new(
+ id: null,
+ label: null,
+ coverage_status: null,
+ fields: null
+)
+```
+
diff --git a/docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInnerFieldsInner.md b/docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInnerFieldsInner.md
new file mode 100644
index 0000000..3322fca
--- /dev/null
+++ b/docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInnerFieldsInner.md
@@ -0,0 +1,20 @@
+# Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInnerFieldsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | Key of the field in the model (e.g. first_name). | |
+| **coverage_status** | **String** | The status of a datapoint of an integrated tool: - `SUPPORTED`: the tool supports the datapoint and it can be used through Kombo. - `UNSUPPORTED`: the tool does not support the datapoint. - `NOT_IMPLEMENTED`: tool supports the datapoint but it was not integrated by Kombo for a given reason (see coverage grid). - `UNKNOWN`: the datapoint is not integrated yet and Kombo has no information about it's availability in the tool. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageReadModelsInnerFieldsInner.new(
+ id: null,
+ coverage_status: null
+)
+```
+
diff --git a/docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInner.md b/docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInner.md
new file mode 100644
index 0000000..bfa72eb
--- /dev/null
+++ b/docs/GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInner.md
@@ -0,0 +1,22 @@
+# Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | | |
+| **label** | **String** | | |
+| **coverage_status** | **String** | The status of a datapoint of an integrated tool: - `SUPPORTED`: the tool supports the datapoint and it can be used through Kombo. - `UNSUPPORTED`: the tool does not support the datapoint. - `NOT_IMPLEMENTED`: tool supports the datapoint but it was not integrated by Kombo for a given reason (see coverage grid). - `UNKNOWN`: the datapoint is not integrated yet and Kombo has no information about it's availability in the tool. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::GetToolsCategoryPositiveResponseDataToolsInnerCoverageWriteActionsInner.new(
+ id: null,
+ label: null,
+ coverage_status: null
+)
+```
+
diff --git a/docs/InlineAssessmentOrderReceivedWebhookPayload.md b/docs/InlineAssessmentOrderReceivedWebhookPayload.md
new file mode 100644
index 0000000..49c837b
--- /dev/null
+++ b/docs/InlineAssessmentOrderReceivedWebhookPayload.md
@@ -0,0 +1,22 @@
+# Kombo::InlineAssessmentOrderReceivedWebhookPayload
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | Unique identifier for this webhook event | |
+| **type** | **String** | Type of the webhook event | |
+| **data** | [**AssessmentOrderReceivedWebhookPayloadData**](AssessmentOrderReceivedWebhookPayloadData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::InlineAssessmentOrderReceivedWebhookPayload.new(
+ id: null,
+ type: null,
+ data: null
+)
+```
+
diff --git a/docs/InlineObject.md b/docs/InlineObject.md
new file mode 100644
index 0000000..18cec7b
--- /dev/null
+++ b/docs/InlineObject.md
@@ -0,0 +1,20 @@
+# Kombo::InlineObject
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **error** | [**InlineObjectError**](InlineObjectError.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::InlineObject.new(
+ status: null,
+ error: null
+)
+```
+
diff --git a/docs/InlineObject1.md b/docs/InlineObject1.md
new file mode 100644
index 0000000..3363d94
--- /dev/null
+++ b/docs/InlineObject1.md
@@ -0,0 +1,20 @@
+# Kombo::InlineObject1
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **error** | [**InlineObject1Error**](InlineObject1Error.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::InlineObject1.new(
+ status: null,
+ error: null
+)
+```
+
diff --git a/docs/InlineObject1Error.md b/docs/InlineObject1Error.md
new file mode 100644
index 0000000..044f2e4
--- /dev/null
+++ b/docs/InlineObject1Error.md
@@ -0,0 +1,24 @@
+# Kombo::InlineObject1Error
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **code** | **String** | Some errors include an error code that can be used to identify their cause. See the [Error Handling Docs](https://docs.kombo.dev/guides/errors) for more information. For your error handling logic please use the error `code` instead of other properties (e.g. message, http status code, ...). | |
+| **title** | **String** | A static, human-readable label. | |
+| **message** | **String** | A dynamic, detailed description of what went wrong in this specific instance. | |
+| **log_url** | **String** | The log page in the Kombo UI lists every interaction with full details. If you need assistance, share that link with our support team. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::InlineObject1Error.new(
+ code: HRIS.EMPLOYEE_ALREADY_EXISTS,
+ title: null,
+ message: null,
+ log_url: null
+)
+```
+
diff --git a/docs/InlineObject2.md b/docs/InlineObject2.md
new file mode 100644
index 0000000..360d00c
--- /dev/null
+++ b/docs/InlineObject2.md
@@ -0,0 +1,20 @@
+# Kombo::InlineObject2
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **error** | [**InlineObject2Error**](InlineObject2Error.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::InlineObject2.new(
+ status: null,
+ error: null
+)
+```
+
diff --git a/docs/InlineObject2Error.md b/docs/InlineObject2Error.md
new file mode 100644
index 0000000..9ec9971
--- /dev/null
+++ b/docs/InlineObject2Error.md
@@ -0,0 +1,24 @@
+# Kombo::InlineObject2Error
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **code** | **String** | Some errors include an error code that can be used to identify their cause. See the [Error Handling Docs](https://docs.kombo.dev/guides/errors) for more information. For your error handling logic please use the error `code` instead of other properties (e.g. message, http status code, ...). | |
+| **title** | **String** | A static, human-readable label. | |
+| **message** | **String** | A dynamic, detailed description of what went wrong in this specific instance. | |
+| **log_url** | **String** | The log page in the Kombo UI lists every interaction with full details. If you need assistance, share that link with our support team. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::InlineObject2Error.new(
+ code: ATS.JOB_CLOSED,
+ title: null,
+ message: null,
+ log_url: null
+)
+```
+
diff --git a/docs/InlineObject3.md b/docs/InlineObject3.md
new file mode 100644
index 0000000..83ea9b4
--- /dev/null
+++ b/docs/InlineObject3.md
@@ -0,0 +1,20 @@
+# Kombo::InlineObject3
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **error** | [**InlineObject3Error**](InlineObject3Error.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::InlineObject3.new(
+ status: null,
+ error: null
+)
+```
+
diff --git a/docs/InlineObject3Error.md b/docs/InlineObject3Error.md
new file mode 100644
index 0000000..85b143c
--- /dev/null
+++ b/docs/InlineObject3Error.md
@@ -0,0 +1,24 @@
+# Kombo::InlineObject3Error
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **code** | **String** | Some errors include an error code that can be used to identify their cause. See the [Error Handling Docs](https://docs.kombo.dev/guides/errors) for more information. For your error handling logic please use the error `code` instead of other properties (e.g. message, http status code, ...). | |
+| **title** | **String** | A static, human-readable label. | |
+| **message** | **String** | A dynamic, detailed description of what went wrong in this specific instance. | |
+| **log_url** | **String** | The log page in the Kombo UI lists every interaction with full details. If you need assistance, share that link with our support team. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::InlineObject3Error.new(
+ code: ATS.JOB_CLOSED,
+ title: null,
+ message: null,
+ log_url: null
+)
+```
+
diff --git a/docs/InlineObjectError.md b/docs/InlineObjectError.md
new file mode 100644
index 0000000..14b6a8d
--- /dev/null
+++ b/docs/InlineObjectError.md
@@ -0,0 +1,24 @@
+# Kombo::InlineObjectError
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **code** | **String** | Some errors include an error code that can be used to identify their cause. See the [Error Handling Docs](https://docs.kombo.dev/guides/errors) for more information. For your error handling logic please use the error `code` instead of other properties (e.g. message, http status code, ...). | |
+| **title** | **String** | A static, human-readable label. | |
+| **message** | **String** | A dynamic, detailed description of what went wrong in this specific instance. | |
+| **log_url** | **String** | The log page in the Kombo UI lists every interaction with full details. If you need assistance, share that link with our support team. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::InlineObjectError.new(
+ code: PLATFORM.RATE_LIMIT_EXCEEDED,
+ title: null,
+ message: null,
+ log_url: null
+)
+```
+
diff --git a/docs/IntegrationCreatedWebhookPayload.md b/docs/IntegrationCreatedWebhookPayload.md
new file mode 100644
index 0000000..40e722b
--- /dev/null
+++ b/docs/IntegrationCreatedWebhookPayload.md
@@ -0,0 +1,22 @@
+# Kombo::IntegrationCreatedWebhookPayload
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | Unique identifier for this webhook event | |
+| **type** | **String** | Type of the webhook event | |
+| **data** | [**IntegrationCreatedWebhookPayloadData**](IntegrationCreatedWebhookPayloadData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::IntegrationCreatedWebhookPayload.new(
+ id: null,
+ type: null,
+ data: null
+)
+```
+
diff --git a/docs/IntegrationCreatedWebhookPayloadData.md b/docs/IntegrationCreatedWebhookPayloadData.md
new file mode 100644
index 0000000..183e4ab
--- /dev/null
+++ b/docs/IntegrationCreatedWebhookPayloadData.md
@@ -0,0 +1,24 @@
+# Kombo::IntegrationCreatedWebhookPayloadData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The unique identifier of the newly created integration. | |
+| **tool** | **String** | The name of the integrated tool. | |
+| **category** | **String** | The category of the integration. | |
+| **end_user** | [**ConnectionFlowFailedWebhookPayloadDataEndUser**](ConnectionFlowFailedWebhookPayloadDataEndUser.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::IntegrationCreatedWebhookPayloadData.new(
+ id: null,
+ tool: null,
+ category: null,
+ end_user: null
+)
+```
+
diff --git a/docs/IntegrationDeletedWebhookPayload.md b/docs/IntegrationDeletedWebhookPayload.md
new file mode 100644
index 0000000..85c904f
--- /dev/null
+++ b/docs/IntegrationDeletedWebhookPayload.md
@@ -0,0 +1,22 @@
+# Kombo::IntegrationDeletedWebhookPayload
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | Unique identifier for this webhook event | |
+| **type** | **String** | Type of the webhook event | |
+| **data** | [**IntegrationDeletedWebhookPayloadData**](IntegrationDeletedWebhookPayloadData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::IntegrationDeletedWebhookPayload.new(
+ id: null,
+ type: null,
+ data: null
+)
+```
+
diff --git a/docs/IntegrationDeletedWebhookPayloadData.md b/docs/IntegrationDeletedWebhookPayloadData.md
new file mode 100644
index 0000000..cf24142
--- /dev/null
+++ b/docs/IntegrationDeletedWebhookPayloadData.md
@@ -0,0 +1,26 @@
+# Kombo::IntegrationDeletedWebhookPayloadData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The unique identifier of the deleted integration. | |
+| **tool** | **String** | The name of the integrated tool. | |
+| **category** | **String** | The category of the integration. | |
+| **end_user** | [**ConnectionFlowFailedWebhookPayloadDataEndUser**](ConnectionFlowFailedWebhookPayloadDataEndUser.md) | | |
+| **deleted_at** | **Time** | ISO 8601 timestamp when the integration was deleted. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::IntegrationDeletedWebhookPayloadData.new(
+ id: null,
+ tool: null,
+ category: null,
+ end_user: null,
+ deleted_at: null
+)
+```
+
diff --git a/docs/IntegrationStateChangedWebhookPayload.md b/docs/IntegrationStateChangedWebhookPayload.md
new file mode 100644
index 0000000..3e60e62
--- /dev/null
+++ b/docs/IntegrationStateChangedWebhookPayload.md
@@ -0,0 +1,22 @@
+# Kombo::IntegrationStateChangedWebhookPayload
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | Unique identifier for this webhook event | |
+| **type** | **String** | Type of the webhook event | |
+| **data** | [**IntegrationStateChangedWebhookPayloadData**](IntegrationStateChangedWebhookPayloadData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::IntegrationStateChangedWebhookPayload.new(
+ id: null,
+ type: null,
+ data: null
+)
+```
+
diff --git a/docs/IntegrationStateChangedWebhookPayloadData.md b/docs/IntegrationStateChangedWebhookPayloadData.md
new file mode 100644
index 0000000..9084a13
--- /dev/null
+++ b/docs/IntegrationStateChangedWebhookPayloadData.md
@@ -0,0 +1,30 @@
+# Kombo::IntegrationStateChangedWebhookPayloadData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **integration_tool** | **String** | The name of the integrated tool (e.g., \"personio\", \"greenhouse\"). | |
+| **integration_id** | **String** | The unique identifier of the integration. | |
+| **integration_category** | **String** | The category of the integration (HRIS, ATS, or ASSESSMENT). | |
+| **end_user** | [**ConnectionFlowFailedWebhookPayloadDataEndUser**](ConnectionFlowFailedWebhookPayloadDataEndUser.md) | | |
+| **qa_status** | **String** | The quality assurance status of the integration. | |
+| **state** | **String** | The current state of the integration. | |
+| **updated_at** | **Time** | ISO 8601 timestamp when the integration state was last updated. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::IntegrationStateChangedWebhookPayloadData.new(
+ integration_tool: null,
+ integration_id: null,
+ integration_category: null,
+ end_user: null,
+ qa_status: null,
+ state: null,
+ updated_at: null
+)
+```
+
diff --git a/docs/KomboConnectApi.md b/docs/KomboConnectApi.md
new file mode 100644
index 0000000..51911eb
--- /dev/null
+++ b/docs/KomboConnectApi.md
@@ -0,0 +1,221 @@
+# Kombo::KomboConnectApi
+
+All URIs are relative to *https://api.kombo.dev/v1*
+
+| Method | HTTP request | Description |
+| ------ | ------------ | ----------- |
+| [**get_connect_integration_by_token_token**](KomboConnectApi.md#get_connect_integration_by_token_token) | **GET** /connect/integration-by-token/{token} | Get integration by token |
+| [**post_connect_activate_integration**](KomboConnectApi.md#post_connect_activate_integration) | **POST** /connect/activate-integration | Activate integration (optional) |
+| [**post_connect_create_link**](KomboConnectApi.md#post_connect_create_link) | **POST** /connect/create-link | Create connection link |
+
+
+## get_connect_integration_by_token_token
+
+> get_connect_integration_by_token_token(token)
+
+Get integration by token
+
+Use this endpoint with the token you get from the connection flow to retrieve information about the created integration. It works in a similar way as the OAuth2 code flow to securely retrieve information and connect the integration to your user. > Check out [our full guide](/connect/embedded-flow) for more details about implementing the connection flow into your app. This endpoint is used to ensure users can't trick your system connecting their account in your system to another customers integration. You don't get the integration ID from the `showKomboConnect(link)` function but only the short lived token used for this endpoint so that users can't send you arbitrary data that you would put into your system.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::KomboConnectApi.new
+token = 'token_example' # String | GET /connect/integration-by-token/:token Parameter
+
+begin
+ # Get integration by token
+ result = api_instance.get_connect_integration_by_token_token(token)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling KomboConnectApi->get_connect_integration_by_token_token: #{e}"
+end
+```
+
+#### Using the get_connect_integration_by_token_token_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_connect_integration_by_token_token_with_http_info(token)
+
+```ruby
+begin
+ # Get integration by token
+ data, status_code, headers = api_instance.get_connect_integration_by_token_token_with_http_info(token)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling KomboConnectApi->get_connect_integration_by_token_token_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **token** | **String** | GET /connect/integration-by-token/:token Parameter | |
+
+### Return type
+
+[**GetConnectIntegrationByTokenTokenPositiveResponse**](GetConnectIntegrationByTokenTokenPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## post_connect_activate_integration
+
+> post_connect_activate_integration(opts)
+
+Activate integration (optional)
+
+Use this endpoint with the token you get from the connection flow to retrieve information about the created integration. It works in a similar way as the OAuth2 code flow to securely retrieve information and connect the integration to your user. You do not need to call this endpoint for an integration to become active. We are deprecating this endpoint in favour of the [get integration by code endpoint](/v1/get-integration-by-token-token). To migrate you only have to change to the new API endpoint. ### Example Request Body ```json { \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtZXNzYWdlIjoiVGhpcyBpcyBub3QgYW4gYWN0dWFsIHRva2VuLiJ9.JulqgOZBMKceI8vh9YLpVX51efND0ZyfUNHDXLrPz_4\" } ```
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::KomboConnectApi.new
+opts = {
+ post_connect_activate_integration_request_body: Kombo::PostConnectActivateIntegrationRequestBody.new({token: 'token_example'}) # PostConnectActivateIntegrationRequestBody | POST /connect/activate-integration Request body
+}
+
+begin
+ # Activate integration (optional)
+ result = api_instance.post_connect_activate_integration(opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling KomboConnectApi->post_connect_activate_integration: #{e}"
+end
+```
+
+#### Using the post_connect_activate_integration_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_connect_activate_integration_with_http_info(opts)
+
+```ruby
+begin
+ # Activate integration (optional)
+ data, status_code, headers = api_instance.post_connect_activate_integration_with_http_info(opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling KomboConnectApi->post_connect_activate_integration_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **post_connect_activate_integration_request_body** | [**PostConnectActivateIntegrationRequestBody**](PostConnectActivateIntegrationRequestBody.md) | POST /connect/activate-integration Request body | [optional] |
+
+### Return type
+
+[**PostConnectActivateIntegrationPositiveResponse**](PostConnectActivateIntegrationPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_connect_create_link
+
+> post_connect_create_link(opts)
+
+Create connection link
+
+Generate a unique link that allows your user to enter the embedded Kombo Connect flow. > Check out [our full guide](/connect/embedded-flow) for more details about implementing the connection flow into your app. > Kombo will not deduplicate integrations for you that are created with this endpoint. You are responsible for keeping track of integrations in your system and prevent customers from connecting the same tool again. Use the [reconnection link](/v1/post-integrations-integration-id-relink) endpoint if you want a customer to update their credentials. ### Example Request Body ```json { \"end_user_email\": \"test@example.com\", \"end_user_organization_name\": \"Test Inc.\", \"integration_category\": \"HRIS\", \"integration_tool\": \"personio\", \"end_user_origin_id\": \"123\", \"language\": \"en\", \"link_type\": \"EMBEDDED\" } ```
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::KomboConnectApi.new
+opts = {
+ post_connect_create_link_request_body: Kombo::PostConnectCreateLinkRequestBody.new({end_user_email: 'end_user_email_example', end_user_organization_name: 'end_user_organization_name_example'}) # PostConnectCreateLinkRequestBody | POST /connect/create-link Request body
+}
+
+begin
+ # Create connection link
+ result = api_instance.post_connect_create_link(opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling KomboConnectApi->post_connect_create_link: #{e}"
+end
+```
+
+#### Using the post_connect_create_link_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_connect_create_link_with_http_info(opts)
+
+```ruby
+begin
+ # Create connection link
+ data, status_code, headers = api_instance.post_connect_create_link_with_http_info(opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling KomboConnectApi->post_connect_create_link_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **post_connect_create_link_request_body** | [**PostConnectCreateLinkRequestBody**](PostConnectCreateLinkRequestBody.md) | POST /connect/create-link Request body | [optional] |
+
+### Return type
+
+[**PostConnectCreateLinkPositiveResponse**](PostConnectCreateLinkPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
diff --git a/docs/PatchAtsApplicationsApplicationIdInterviewsPositiveResponse.md b/docs/PatchAtsApplicationsApplicationIdInterviewsPositiveResponse.md
new file mode 100644
index 0000000..8acd418
--- /dev/null
+++ b/docs/PatchAtsApplicationsApplicationIdInterviewsPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::PatchAtsApplicationsApplicationIdInterviewsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | **Object** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PatchAtsApplicationsApplicationIdInterviewsPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/PatchAtsApplicationsApplicationIdInterviewsRequestBody.md b/docs/PatchAtsApplicationsApplicationIdInterviewsRequestBody.md
new file mode 100644
index 0000000..9f3d15f
--- /dev/null
+++ b/docs/PatchAtsApplicationsApplicationIdInterviewsRequestBody.md
@@ -0,0 +1,30 @@
+# Kombo::PatchAtsApplicationsApplicationIdInterviewsRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **interview_id** | **String** | The ID of the interview | |
+| **title** | **String** | The title of the interview | |
+| **start_time** | **String** | The start time of the interview | |
+| **end_time** | **String** | The end time of the interview | |
+| **interviewer_user_ids** | **Array<String>** | The IDs of the interviewers | |
+| **organizer_user_id** | **String** | The ID of the organizer | |
+| **location** | [**PatchAtsApplicationsApplicationIdInterviewsRequestBodyLocation**](PatchAtsApplicationsApplicationIdInterviewsRequestBodyLocation.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PatchAtsApplicationsApplicationIdInterviewsRequestBody.new(
+ interview_id: null,
+ title: null,
+ start_time: null,
+ end_time: null,
+ interviewer_user_ids: null,
+ organizer_user_id: null,
+ location: null
+)
+```
+
diff --git a/docs/PatchAtsApplicationsApplicationIdInterviewsRequestBodyLocation.md b/docs/PatchAtsApplicationsApplicationIdInterviewsRequestBodyLocation.md
new file mode 100644
index 0000000..dafe918
--- /dev/null
+++ b/docs/PatchAtsApplicationsApplicationIdInterviewsRequestBodyLocation.md
@@ -0,0 +1,20 @@
+# Kombo::PatchAtsApplicationsApplicationIdInterviewsRequestBodyLocation
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **type** | **String** | | |
+| **address** | **String** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PatchAtsApplicationsApplicationIdInterviewsRequestBodyLocation.new(
+ type: null,
+ address: null
+)
+```
+
diff --git a/docs/PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse.md b/docs/PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse.md
new file mode 100644
index 0000000..517da83
--- /dev/null
+++ b/docs/PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner**](GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody.md b/docs/PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody.md
new file mode 100644
index 0000000..5642e81
--- /dev/null
+++ b/docs/PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody.md
@@ -0,0 +1,18 @@
+# Kombo::PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **current_level** | **String** | The current skill level of the employee. Can be `null` to remove the skill level. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PatchHrisEmployeeSkillAssignmentsEmployeeSkillAssignmentIdRequestBody.new(
+ current_level: null
+)
+```
+
diff --git a/docs/PatchHrisEmployeesEmployeeIdPositiveResponse.md b/docs/PatchHrisEmployeesEmployeeIdPositiveResponse.md
new file mode 100644
index 0000000..af44671
--- /dev/null
+++ b/docs/PatchHrisEmployeesEmployeeIdPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PatchHrisEmployeesEmployeeIdPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**PatchHrisEmployeesEmployeeIdPositiveResponseData**](PatchHrisEmployeesEmployeeIdPositiveResponseData.md) | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PatchHrisEmployeesEmployeeIdPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PatchHrisEmployeesEmployeeIdPositiveResponseData.md b/docs/PatchHrisEmployeesEmployeeIdPositiveResponseData.md
new file mode 100644
index 0000000..b732291
--- /dev/null
+++ b/docs/PatchHrisEmployeesEmployeeIdPositiveResponseData.md
@@ -0,0 +1,80 @@
+# Kombo::PatchHrisEmployeesEmployeeIdPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **employee_number** | **String** | The employee’s organization-internal employee number. | |
+| **first_name** | **String** | The employee’s first name. | |
+| **last_name** | **String** | The employee’s last name. | |
+| **nationality** | **String** | The employee’s nationality. | |
+| **display_full_name** | **String** | The employee’s full name, including any middle names. Not all HR systems provide an explicit display name, so we recommend falling back to `first_name` and `last_name`. | |
+| **job_title** | **String** | The employee’s job title. | |
+| **work_email** | **String** | The employee’s work email address. If the email address is invalid, we will set this to `null`. | [optional] |
+| **personal_email** | **String** | The employee’s personal email address. If the email address is invalid, we will set this to `null`. | [optional] |
+| **mobile_phone_number** | **String** | The employee’s mobile phone number. | |
+| **ssn** | **String** | The employee’s social security number | |
+| **tax_id** | **String** | The employee’s tax ID. | |
+| **gender** | [**GetHrisEmployeesPositiveResponseDataResultsInnerGender**](GetHrisEmployeesPositiveResponseDataResultsInnerGender.md) | | [optional] |
+| **ethnicity** | [**GetHrisEmployeesPositiveResponseDataResultsInnerEthnicity**](GetHrisEmployeesPositiveResponseDataResultsInnerEthnicity.md) | | [optional] |
+| **marital_status** | [**GetHrisEmployeesPositiveResponseDataResultsInnerMaritalStatus**](GetHrisEmployeesPositiveResponseDataResultsInnerMaritalStatus.md) | | [optional] |
+| **employment_status** | [**GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentStatus**](GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentStatus.md) | | [optional] |
+| **employment_type** | [**GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentType**](GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentType.md) | | [optional] |
+| **weekly_hours** | **Float** | The employee’s weekly working hours. | |
+| **avatar** | **String** | URL to the employee’s avatar. This is either the raw URL from the HR system (in cases where it can be requested without short-lived authentication) _or_ a URL to a temporarily cached version of the file hosted by Kombo. Kombo will delete the cached file after its deletion in the source system. | |
+| **work_location_id** | **String** | The Kombo ID of the employee’s work location. The ID can be used to retrieve the work location from the `get work locations` endpoint. | |
+| **legal_entity_id** | **String** | The Kombo ID of the employee’s legal entity. The ID can be used to retrieve the legal entity from the `get legal entities` endpoint. | |
+| **manager_id** | **String** | The Kombo ID of the employee’s manager. The ID can be used to retrieve the manager from the `get employees` endpoint. | |
+| **home_address** | [**GetHrisEmployeesPositiveResponseDataResultsInnerHomeAddress**](GetHrisEmployeesPositiveResponseDataResultsInnerHomeAddress.md) | | [optional] |
+| **bank_accounts** | [**Array<GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInner>**](GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInner.md) | The employee’s bank accounts. | [optional] |
+| **date_of_birth** | **Time** | The employee’s date of birth. | |
+| **start_date** | **Time** | The date the employee started working for the organization. | |
+| **termination_date** | **Time** | The date when the employment ends. Can be in the past or future. | |
+| **remote_created_at** | **Time** | The date and time the object was created in the remote system. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PatchHrisEmployeesEmployeeIdPositiveResponseData.new(
+ id: null,
+ remote_id: null,
+ employee_number: null,
+ first_name: null,
+ last_name: null,
+ nationality: null,
+ display_full_name: null,
+ job_title: null,
+ work_email: null,
+ personal_email: null,
+ mobile_phone_number: null,
+ ssn: null,
+ tax_id: null,
+ gender: null,
+ ethnicity: null,
+ marital_status: null,
+ employment_status: null,
+ employment_type: null,
+ weekly_hours: null,
+ avatar: null,
+ work_location_id: null,
+ legal_entity_id: null,
+ manager_id: null,
+ home_address: null,
+ bank_accounts: null,
+ date_of_birth: null,
+ start_date: null,
+ termination_date: null,
+ remote_created_at: null,
+ changed_at: null,
+ remote_deleted_at: null,
+ remote_data: null
+)
+```
+
diff --git a/docs/PatchHrisEmployeesEmployeeIdRequestBody.md b/docs/PatchHrisEmployeesEmployeeIdRequestBody.md
new file mode 100644
index 0000000..0358643
--- /dev/null
+++ b/docs/PatchHrisEmployeesEmployeeIdRequestBody.md
@@ -0,0 +1,52 @@
+# Kombo::PatchHrisEmployeesEmployeeIdRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **first_name** | **String** | The first name of the employee. | [optional] |
+| **last_name** | **String** | The last name of the employee. | [optional] |
+| **work_email** | **String** | The email address of the employee to be updated. For tools where the personal email address is required, we map this input to the personal email. This is documented on a per-tool basis. | |
+| **gender** | **String** | The gender of the employee. | [optional] |
+| **job_title** | **String** | The title of the position this person is working in. | [optional] |
+| **home_address** | [**PostHrisEmployeesRequestBodyHomeAddress**](PostHrisEmployeesRequestBodyHomeAddress.md) | | [optional] |
+| **date_of_birth** | **Time** | The employee's date of birth. This is a plain date (i.e., `yyyy-MM-dd`), all time information is discarded. | [optional] |
+| **mobile_phone_number** | **String** | | [optional] |
+| **home_phone_number** | **String** | | [optional] |
+| **nationality** | **String** | The uppercase two-letter ISO country (e.g., `DE`). For systems that use codes in formats other than `ISO 3166-1 alpha-2`, Kombo transforms the ISO Codes to the appropriate value. | [optional] |
+| **start_date** | **Time** | Start date of the employee. Also considered to be the hire date. This is a plain date (i.e., `yyyy-MM-dd`), all time information is discarded. | [optional] |
+| **legal_entity_id** | **String** | The Kombo ID of the legal entity the employee should be in. This field is required for certain integrations. | [optional] |
+| **location_id** | **String** | The Kombo ID of the location the employee should be in. This field is required for certain integrations. | [optional] |
+| **remote_fields** | [**PostHrisEmployeesRequestBodyRemoteFields**](PostHrisEmployeesRequestBodyRemoteFields.md) | | [optional] |
+| **ssn** | **String** | The social security number of the employee. | [optional] |
+| **marital_status** | **String** | The marital status of an employee. | [optional] |
+| **termination_date** | **Time** | The date on which the employment ends. This date can be in the past or in the future. This is a plain date (i.e., `yyyy-MM-dd`), all time information is discarded. | [optional] |
+| **tax_id** | **String** | Tax ID of the employee. Most countries have different formats of that. In Germany, this is the `Steuer ID` and in the US it's the `TIN`. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PatchHrisEmployeesEmployeeIdRequestBody.new(
+ first_name: null,
+ last_name: null,
+ work_email: null,
+ gender: null,
+ job_title: null,
+ home_address: null,
+ date_of_birth: null,
+ mobile_phone_number: null,
+ home_phone_number: null,
+ nationality: null,
+ start_date: null,
+ legal_entity_id: null,
+ location_id: null,
+ remote_fields: null,
+ ssn: null,
+ marital_status: null,
+ termination_date: null,
+ tax_id: null
+)
+```
+
diff --git a/docs/PatchHrisSkillsSkillIdPositiveResponse.md b/docs/PatchHrisSkillsSkillIdPositiveResponse.md
new file mode 100644
index 0000000..ee6f8e6
--- /dev/null
+++ b/docs/PatchHrisSkillsSkillIdPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::PatchHrisSkillsSkillIdPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetHrisSkillsPositiveResponseDataResultsInner**](GetHrisSkillsPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PatchHrisSkillsSkillIdPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/PatchHrisSkillsSkillIdRequestBody.md b/docs/PatchHrisSkillsSkillIdRequestBody.md
new file mode 100644
index 0000000..1da85c9
--- /dev/null
+++ b/docs/PatchHrisSkillsSkillIdRequestBody.md
@@ -0,0 +1,20 @@
+# Kombo::PatchHrisSkillsSkillIdRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **name** | **String** | The name of the skill | [optional] |
+| **levels** | **Array<String>** | List of available skill levels (e.g., [\"Beginner\", \"Intermediate\", \"Advanced\"]) | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PatchHrisSkillsSkillIdRequestBody.new(
+ name: null,
+ levels: null
+)
+```
+
diff --git a/docs/PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse.md b/docs/PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse.md
new file mode 100644
index 0000000..ec13cc3
--- /dev/null
+++ b/docs/PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseDataResultsInner**](GetIntegrationsIntegrationIdIntegrationFieldsPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody.md b/docs/PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody.md
new file mode 100644
index 0000000..66fa8f1
--- /dev/null
+++ b/docs/PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody.md
@@ -0,0 +1,18 @@
+# Kombo::PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **enable_passthrough** | **Boolean** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PatchIntegrationsIntegrationIdIntegrationFieldsIntegrationFieldIdRequestBody.new(
+ enable_passthrough: null
+)
+```
+
diff --git a/docs/PatchLmsProgressProgressIdPositiveResponse.md b/docs/PatchLmsProgressProgressIdPositiveResponse.md
new file mode 100644
index 0000000..bb34e6d
--- /dev/null
+++ b/docs/PatchLmsProgressProgressIdPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::PatchLmsProgressProgressIdPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**PostLmsProgressPositiveResponseData**](PostLmsProgressPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PatchLmsProgressProgressIdPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/PatchLmsProgressProgressIdRequestBody.md b/docs/PatchLmsProgressProgressIdRequestBody.md
new file mode 100644
index 0000000..25fac54
--- /dev/null
+++ b/docs/PatchLmsProgressProgressIdRequestBody.md
@@ -0,0 +1,32 @@
+# Kombo::PatchLmsProgressProgressIdRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **course_id** | **String** | The ID of the course. | [optional] |
+| **user_id** | **String** | The ID of the user. | [optional] |
+| **status** | **String** | Current status of the learner in this course. | [optional] |
+| **enrollment_date** | **String** | Date when the user enrolled in the course. | [optional] |
+| **completion_date** | **String** | Date when the user completed the course. | [optional] |
+| **score** | **Float** | Numerical score achieved (e.g., 85.5). | [optional] |
+| **duration** | **Float** | Total time spent on the course in minutes. | [optional] |
+| **comments** | **String** | Additional comments or notes. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PatchLmsProgressProgressIdRequestBody.new(
+ course_id: null,
+ user_id: null,
+ status: null,
+ enrollment_date: null,
+ completion_date: null,
+ score: null,
+ duration: null,
+ comments: null
+)
+```
+
diff --git a/docs/PostAiApplyApplyPositiveResponse.md b/docs/PostAiApplyApplyPositiveResponse.md
new file mode 100644
index 0000000..4c1575b
--- /dev/null
+++ b/docs/PostAiApplyApplyPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::PostAiApplyApplyPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**PostAiApplyApplyPositiveResponseData**](PostAiApplyApplyPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAiApplyApplyPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/PostAiApplyApplyPositiveResponseData.md b/docs/PostAiApplyApplyPositiveResponseData.md
new file mode 100644
index 0000000..5dfe59e
--- /dev/null
+++ b/docs/PostAiApplyApplyPositiveResponseData.md
@@ -0,0 +1,26 @@
+# Kombo::PostAiApplyApplyPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **posting_id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **status** | **String** | | |
+| **created_at** | **Time** | YYYY-MM-DDTHH:mm:ss.sssZ | |
+| **updated_at** | **Time** | YYYY-MM-DDTHH:mm:ss.sssZ | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAiApplyApplyPositiveResponseData.new(
+ id: null,
+ posting_id: null,
+ status: null,
+ created_at: null,
+ updated_at: null
+)
+```
+
diff --git a/docs/PostAiApplyApplyRequestBody.md b/docs/PostAiApplyApplyRequestBody.md
new file mode 100644
index 0000000..4d37b9f
--- /dev/null
+++ b/docs/PostAiApplyApplyRequestBody.md
@@ -0,0 +1,24 @@
+# Kombo::PostAiApplyApplyRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **submission_token** | **String** | JWT token obtained from the POST /postings/:id/inquire endpoint. Valid for 12 hours. | |
+| **candidate_email** | **String** | The email address of the candidate. This is used for deduplication (preventing duplicate applications from the same candidate) and internal tracking purposes. This field is required but should not be displayed to the candidate on your application form - you should provide this from your own system. | |
+| **_query_params** | **Hash<String, String>** | Query parameters to be appended to the job posting URL when applying. | [optional] |
+| **screening_question_answers** | [**Array<PostAiApplyApplyRequestBodyScreeningQuestionAnswersInner>**](PostAiApplyApplyRequestBodyScreeningQuestionAnswersInner.md) | Array of screening question answers. The answers need to match exactly with the questions you received on the POST /postings/:id/inquire endpoint. Otherwise, the application will be rejected. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAiApplyApplyRequestBody.new(
+ submission_token: null,
+ candidate_email: null,
+ _query_params: null,
+ screening_question_answers: null
+)
+```
+
diff --git a/docs/PostAiApplyApplyRequestBodyScreeningQuestionAnswersInner.md b/docs/PostAiApplyApplyRequestBodyScreeningQuestionAnswersInner.md
new file mode 100644
index 0000000..7338301
--- /dev/null
+++ b/docs/PostAiApplyApplyRequestBodyScreeningQuestionAnswersInner.md
@@ -0,0 +1,20 @@
+# Kombo::PostAiApplyApplyRequestBodyScreeningQuestionAnswersInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **question_id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **answer** | [**PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEquals**](PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEquals.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAiApplyApplyRequestBodyScreeningQuestionAnswersInner.new(
+ question_id: null,
+ answer: null
+)
+```
+
diff --git a/docs/PostAiApplyCareerSitesPositiveResponse.md b/docs/PostAiApplyCareerSitesPositiveResponse.md
new file mode 100644
index 0000000..6d5b87d
--- /dev/null
+++ b/docs/PostAiApplyCareerSitesPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::PostAiApplyCareerSitesPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**PostAiApplyCareerSitesPositiveResponseData**](PostAiApplyCareerSitesPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAiApplyCareerSitesPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/PostAiApplyCareerSitesPositiveResponseData.md b/docs/PostAiApplyCareerSitesPositiveResponseData.md
new file mode 100644
index 0000000..7276339
--- /dev/null
+++ b/docs/PostAiApplyCareerSitesPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::PostAiApplyCareerSitesPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **label** | **String** | The label of the career site | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAiApplyCareerSitesPositiveResponseData.new(
+ id: null,
+ label: null
+)
+```
+
diff --git a/docs/PostAiApplyCareerSitesRequestBody.md b/docs/PostAiApplyCareerSitesRequestBody.md
new file mode 100644
index 0000000..d1d956d
--- /dev/null
+++ b/docs/PostAiApplyCareerSitesRequestBody.md
@@ -0,0 +1,18 @@
+# Kombo::PostAiApplyCareerSitesRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **label** | **String** | The label of the career site | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAiApplyCareerSitesRequestBody.new(
+ label: null
+)
+```
+
diff --git a/docs/PostAiApplyPostingsPositiveResponse.md b/docs/PostAiApplyPostingsPositiveResponse.md
new file mode 100644
index 0000000..9de8a0a
--- /dev/null
+++ b/docs/PostAiApplyPostingsPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::PostAiApplyPostingsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetAiApplyPostingsPositiveResponseDataResultsInner**](GetAiApplyPostingsPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAiApplyPostingsPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/PostAiApplyPostingsPostingIdInquirePositiveResponse.md b/docs/PostAiApplyPostingsPostingIdInquirePositiveResponse.md
new file mode 100644
index 0000000..dfff73f
--- /dev/null
+++ b/docs/PostAiApplyPostingsPostingIdInquirePositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**PostAiApplyPostingsPostingIdInquirePositiveResponseData**](PostAiApplyPostingsPostingIdInquirePositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/PostAiApplyPostingsPostingIdInquirePositiveResponseData.md b/docs/PostAiApplyPostingsPostingIdInquirePositiveResponseData.md
new file mode 100644
index 0000000..51c9b9b
--- /dev/null
+++ b/docs/PostAiApplyPostingsPostingIdInquirePositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **application_form** | [**Array<PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInner>**](PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInner.md) | | |
+| **submission_token** | **String** | JWT token for submitting the application. Valid for 12 hours from generation. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseData.new(
+ application_form: null,
+ submission_token: null
+)
+```
+
diff --git a/docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInner.md b/docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInner.md
new file mode 100644
index 0000000..bbb9ac5
--- /dev/null
+++ b/docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInner.md
@@ -0,0 +1,38 @@
+# Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **block_type** | **String** | | |
+| **question_id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **label** | **String** | | |
+| **description** | **String** | | |
+| **required** | **Boolean** | | |
+| **category** | **String** | | |
+| **question_type** | **String** | | |
+| **unified_key** | **String** | | |
+| **options** | [**Array<PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfOptionsInner>**](PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfOptionsInner.md) | | |
+| **display_when** | [**PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhen**](PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhen.md) | | |
+| **children** | **Array<Object>** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInner.new(
+ block_type: null,
+ question_id: null,
+ label: null,
+ description: null,
+ required: null,
+ category: null,
+ question_type: null,
+ unified_key: null,
+ options: null,
+ display_when: null,
+ children: null
+)
+```
+
diff --git a/docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf.md b/docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf.md
new file mode 100644
index 0000000..e9f3309
--- /dev/null
+++ b/docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf.md
@@ -0,0 +1,36 @@
+# Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **block_type** | **String** | | |
+| **question_id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **label** | **String** | | |
+| **description** | **String** | | |
+| **required** | **Boolean** | | |
+| **category** | **String** | | |
+| **question_type** | **String** | | |
+| **unified_key** | **String** | | |
+| **options** | [**Array<PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfOptionsInner>**](PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfOptionsInner.md) | | |
+| **display_when** | [**PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhen**](PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhen.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf.new(
+ block_type: null,
+ question_id: null,
+ label: null,
+ description: null,
+ required: null,
+ category: null,
+ question_type: null,
+ unified_key: null,
+ options: null,
+ display_when: null
+)
+```
+
diff --git a/docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf1.md b/docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf1.md
new file mode 100644
index 0000000..649dbbc
--- /dev/null
+++ b/docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf1.md
@@ -0,0 +1,22 @@
+# Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf1
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **block_type** | **String** | | |
+| **label** | **String** | | |
+| **children** | **Array<Object>** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOf1.new(
+ block_type: null,
+ label: null,
+ children: null
+)
+```
+
diff --git a/docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhen.md b/docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhen.md
new file mode 100644
index 0000000..b4639a7
--- /dev/null
+++ b/docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhen.md
@@ -0,0 +1,20 @@
+# Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhen
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **question_id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **answer_equals** | [**PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEquals**](PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEquals.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhen.new(
+ question_id: null,
+ answer_equals: null
+)
+```
+
diff --git a/docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEquals.md b/docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEquals.md
new file mode 100644
index 0000000..605c36f
--- /dev/null
+++ b/docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEquals.md
@@ -0,0 +1,55 @@
+# Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEquals
+
+## Class instance methods
+
+### `openapi_one_of`
+
+Returns the list of classes defined in oneOf.
+
+#### Example
+
+```ruby
+require 'kombo_client'
+
+Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEquals.openapi_one_of
+# =>
+# [
+# :'Array',
+# :'Boolean',
+# :'Float',
+# :'PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEqualsOneOf',
+# :'String'
+# ]
+```
+
+### build
+
+Find the appropriate object from the `openapi_one_of` list and casts the data into it.
+
+#### Example
+
+```ruby
+require 'kombo_client'
+
+Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEquals.build(data)
+# => #:0x00007fdd4aab02a0>
+
+Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEquals.build(data_that_doesnt_match)
+# => nil
+```
+
+#### Parameters
+
+| Name | Type | Description |
+| ---- | ---- | ----------- |
+| **data** | **Mixed** | data to be matched against the list of oneOf items |
+
+#### Return type
+
+- `Array`
+- `Boolean`
+- `Float`
+- `PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEqualsOneOf`
+- `String`
+- `nil` (if no type matches)
+
diff --git a/docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEqualsOneOf.md b/docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEqualsOneOf.md
new file mode 100644
index 0000000..9a8936a
--- /dev/null
+++ b/docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEqualsOneOf.md
@@ -0,0 +1,22 @@
+# Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEqualsOneOf
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **name** | **String** | The original name (e.g., \"resume.pdf\") | |
+| **content_type** | **String** | The MIME type of the file (e.g., \"application/pdf\", \"image/jpeg\") | |
+| **data** | **String** | The file content encoded as a base64 string | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfDisplayWhenAnswerEqualsOneOf.new(
+ name: null,
+ content_type: null,
+ data: null
+)
+```
+
diff --git a/docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfOptionsInner.md b/docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfOptionsInner.md
new file mode 100644
index 0000000..c3e968f
--- /dev/null
+++ b/docs/PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfOptionsInner.md
@@ -0,0 +1,22 @@
+# Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfOptionsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **label** | **String** | | |
+| **unified_key** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAiApplyPostingsPostingIdInquirePositiveResponseDataApplicationFormInnerAnyOfOptionsInner.new(
+ id: null,
+ label: null,
+ unified_key: null
+)
+```
+
diff --git a/docs/PostAiApplyPostingsPostingIdParsePositiveResponse.md b/docs/PostAiApplyPostingsPostingIdParsePositiveResponse.md
new file mode 100644
index 0000000..bf30119
--- /dev/null
+++ b/docs/PostAiApplyPostingsPostingIdParsePositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::PostAiApplyPostingsPostingIdParsePositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetAiApplyPostingsPositiveResponseDataResultsInner**](GetAiApplyPostingsPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAiApplyPostingsPostingIdParsePositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/PostAiApplyPostingsRequestBody.md b/docs/PostAiApplyPostingsRequestBody.md
new file mode 100644
index 0000000..895c5b9
--- /dev/null
+++ b/docs/PostAiApplyPostingsRequestBody.md
@@ -0,0 +1,24 @@
+# Kombo::PostAiApplyPostingsRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **career_site_id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **url** | **String** | The URL of the job posting to parse | |
+| **job_code** | **String** | Job code to associate with the job posting | [optional] |
+| **location** | [**PostAiApplyPostingsRequestBodyLocation**](PostAiApplyPostingsRequestBodyLocation.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAiApplyPostingsRequestBody.new(
+ career_site_id: null,
+ url: null,
+ job_code: null,
+ location: null
+)
+```
+
diff --git a/docs/PostAiApplyPostingsRequestBodyLocation.md b/docs/PostAiApplyPostingsRequestBodyLocation.md
new file mode 100644
index 0000000..8297739
--- /dev/null
+++ b/docs/PostAiApplyPostingsRequestBodyLocation.md
@@ -0,0 +1,20 @@
+# Kombo::PostAiApplyPostingsRequestBodyLocation
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **country** | **String** | The country in which the job is located | |
+| **postal_code** | **String** | The postal/zip code in which the job is located | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAiApplyPostingsRequestBodyLocation.new(
+ country: null,
+ postal_code: null
+)
+```
+
diff --git a/docs/PostAiApplyUnifiedApiJobsJobIdApplicationsPositiveResponse.md b/docs/PostAiApplyUnifiedApiJobsJobIdApplicationsPositiveResponse.md
new file mode 100644
index 0000000..4fe4eb8
--- /dev/null
+++ b/docs/PostAiApplyUnifiedApiJobsJobIdApplicationsPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::PostAiApplyUnifiedApiJobsJobIdApplicationsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**PostAtsJobsJobIdApplicationsPositiveResponseData**](PostAtsJobsJobIdApplicationsPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAiApplyUnifiedApiJobsJobIdApplicationsPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/PostAiApplyUnifiedApiJobsJobIdApplicationsRequestBody.md b/docs/PostAiApplyUnifiedApiJobsJobIdApplicationsRequestBody.md
new file mode 100644
index 0000000..eb78fc7
--- /dev/null
+++ b/docs/PostAiApplyUnifiedApiJobsJobIdApplicationsRequestBody.md
@@ -0,0 +1,34 @@
+# Kombo::PostAiApplyUnifiedApiJobsJobIdApplicationsRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **stage_id** | **String** | Stage this candidate should be in. If left out, the default stage for this job will be used. You can obtain the possible `stage_id`s from the `get-jobs` endpoint. | [optional] |
+| **candidate** | [**PostAtsCandidatesRequestBodyCandidate**](PostAtsCandidatesRequestBodyCandidate.md) | | |
+| **attachments** | [**Array<PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment>**](PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment.md) | Array of the attachments you would like to upload. The first CV in the attachments will be treated as the resume of the candidate when the tool allows previewing a resume. | [optional] |
+| **source** | [**PostAtsCandidatesRequestBodySource**](PostAtsCandidatesRequestBodySource.md) | | [optional] |
+| **sourced_by** | [**PostAtsCandidatesRequestBodySourcedBy**](PostAtsCandidatesRequestBodySourcedBy.md) | | [optional] |
+| **gdpr_consent** | [**PostAtsCandidatesRequestBodyGdprConsent**](PostAtsCandidatesRequestBodyGdprConsent.md) | | [optional] |
+| **remote_fields** | [**PostAtsCandidatesRequestBodyRemoteFields**](PostAtsCandidatesRequestBodyRemoteFields.md) | | [optional] |
+| **screening_question_answers** | [**Array<PostAtsCandidatesRequestBodyScreeningQuestionAnswersInner>**](PostAtsCandidatesRequestBodyScreeningQuestionAnswersInner.md) | Array of answers to screening questions. Currently, not all question types are supported, and unsupported ones will not be submitted. The available questions for a job can be retrieved from the get jobs endpoint. The answers will be validated based on the format of the questions. Make sure to follow this schema to avoid errors. | [optional] |
+| **_query_params** | **Hash<String, String>** | Query parameters to be appended to the job posting URL when applying. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAiApplyUnifiedApiJobsJobIdApplicationsRequestBody.new(
+ stage_id: null,
+ candidate: null,
+ attachments: null,
+ source: null,
+ sourced_by: null,
+ gdpr_consent: null,
+ remote_fields: null,
+ screening_question_answers: null,
+ _query_params: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdAttachmentsPositiveResponse.md b/docs/PostAtsApplicationsApplicationIdAttachmentsPositiveResponse.md
new file mode 100644
index 0000000..b2b131a
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdAttachmentsPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PostAtsApplicationsApplicationIdAttachmentsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | **Object** | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdAttachmentsPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdAttachmentsRequestBody.md b/docs/PostAtsApplicationsApplicationIdAttachmentsRequestBody.md
new file mode 100644
index 0000000..014fb99
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdAttachmentsRequestBody.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **attachment** | [**PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment**](PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment.md) | | |
+| **remote_fields** | [**PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFields**](PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFields.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBody.new(
+ attachment: null,
+ remote_fields: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment.md b/docs/PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment.md
new file mode 100644
index 0000000..0d89854
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment.md
@@ -0,0 +1,26 @@
+# Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **name** | **String** | File name of the file you want to upload. We recommend providing something human-readable with a valid file extension (like `Resume.pdf`), as this might be shown in your customer's system. | |
+| **content_type** | **String** | Content/MIME type of the file (e.g., `application/pdf`). If you provide `data`, this is required. If you provide `data_url`, this is optional and we'll attempt to use the `Content-Type` header of the response. **Note:** Please validate that the content type you provide is actually meaningful (and not something generic like [`application/octet-stream`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/MIME_types#applicationoctet-stream)). Especially when using object storage (like AWS S3), it's easy to accidentally discard the content types of user-provided files, so make sure to explicitly persist them when processing uploads from your users (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html#SysMetadata), [Google Cloud](https://cloud.google.com/storage/docs/metadata#content-type), and [Azure](https://learn.microsoft.com/en-us/rest/api/storageservices/put-blob#request-headers-all-blob-types)). | [optional] |
+| **data_url** | **String** | URL to the file you want to upload that can be accessed without authentication headers. We will download the content immediately when receiving the request, so the URL can be short-lived. If you're using an object storage provider (like AWS S3), we strongly recommend providing a signed URL for secure access (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html), [Google Cloud](https://cloud.google.com/storage/docs/access-control/signed-urls), and [Azure](https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview)). **Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases. | [optional] |
+| **data** | **String** | Base64-encoded contents of the file you want to upload. **Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases. | [optional] |
+| **type** | **String** | Type of the attachment in the ATS. This may affect where the uploaded file will be shown in your customer's system. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment.new(
+ name: null,
+ content_type: null,
+ data_url: null,
+ data: null,
+ type: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFields.md b/docs/PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFields.md
new file mode 100644
index 0000000..43e0e02
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFields.md
@@ -0,0 +1,22 @@
+# Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFields
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **oracle** | [**PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFieldsAllOfOracle**](PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFieldsAllOfOracle.md) | | [optional] |
+| **greenhouse** | [**PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse**](PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse.md) | | [optional] |
+| **workable** | [**PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable**](PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFields.new(
+ oracle: null,
+ greenhouse: null,
+ workable: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFieldsAllOfOracle.md b/docs/PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFieldsAllOfOracle.md
new file mode 100644
index 0000000..bdc7263
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFieldsAllOfOracle.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFieldsAllOfOracle
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **override_document_category** | **String** | Allows you to override the document category for the attachment. | [optional] |
+| **multi_post_to_all_current_applications** | **Boolean** | If true, the attachment will be posted to all current applications for the candidate. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyRemoteFieldsAllOfOracle.new(
+ override_document_category: null,
+ multi_post_to_all_current_applications: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdInterviewsPositiveResponse.md b/docs/PostAtsApplicationsApplicationIdInterviewsPositiveResponse.md
new file mode 100644
index 0000000..4b7ae37
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdInterviewsPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsApplicationsApplicationIdInterviewsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | **Object** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdInterviewsPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdInterviewsRequestBody.md b/docs/PostAtsApplicationsApplicationIdInterviewsRequestBody.md
new file mode 100644
index 0000000..b45d5b3
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdInterviewsRequestBody.md
@@ -0,0 +1,28 @@
+# Kombo::PostAtsApplicationsApplicationIdInterviewsRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **title** | **String** | The title of the interview | |
+| **start_time** | **String** | The start time of the interview | |
+| **end_time** | **String** | The end time of the interview | |
+| **interviewer_user_ids** | **Array<String>** | The IDs of the interviewers | |
+| **organizer_user_id** | **String** | The ID of the organizer | |
+| **location** | [**PostAtsApplicationsApplicationIdInterviewsRequestBodyLocation**](PostAtsApplicationsApplicationIdInterviewsRequestBodyLocation.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdInterviewsRequestBody.new(
+ title: null,
+ start_time: null,
+ end_time: null,
+ interviewer_user_ids: null,
+ organizer_user_id: null,
+ location: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdInterviewsRequestBodyLocation.md b/docs/PostAtsApplicationsApplicationIdInterviewsRequestBodyLocation.md
new file mode 100644
index 0000000..9fe292e
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdInterviewsRequestBodyLocation.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsApplicationsApplicationIdInterviewsRequestBodyLocation
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **type** | **String** | | |
+| **address** | **String** | The address of the interview | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdInterviewsRequestBodyLocation.new(
+ type: null,
+ address: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdNotesPositiveResponse.md b/docs/PostAtsApplicationsApplicationIdNotesPositiveResponse.md
new file mode 100644
index 0000000..cdc20c4
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdNotesPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PostAtsApplicationsApplicationIdNotesPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | **Object** | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdNotesPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdNotesRequestBody.md b/docs/PostAtsApplicationsApplicationIdNotesRequestBody.md
new file mode 100644
index 0000000..0b4a262
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdNotesRequestBody.md
@@ -0,0 +1,22 @@
+# Kombo::PostAtsApplicationsApplicationIdNotesRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **content** | **String** | UTF-8 content of the note. | |
+| **content_type** | **String** | Content type of the note. Currently only `PLAIN_TEXT` is supported. | |
+| **remote_fields** | [**PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFields**](PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFields.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdNotesRequestBody.new(
+ content: null,
+ content_type: null,
+ remote_fields: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFields.md b/docs/PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFields.md
new file mode 100644
index 0000000..d136e38
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFields.md
@@ -0,0 +1,26 @@
+# Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFields
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **teamtailor** | [**PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfTeamtailor**](PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfTeamtailor.md) | | [optional] |
+| **greenhouse** | [**PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse**](PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse.md) | | [optional] |
+| **recruitee** | [**PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfRecruitee**](PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfRecruitee.md) | | [optional] |
+| **bullhorn** | [**PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfBullhorn**](PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfBullhorn.md) | | [optional] |
+| **workable** | [**PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable**](PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFields.new(
+ teamtailor: null,
+ greenhouse: null,
+ recruitee: null,
+ bullhorn: null,
+ workable: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfBullhorn.md b/docs/PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfBullhorn.md
new file mode 100644
index 0000000..a4eb096
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfBullhorn.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfBullhorn
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **action** | **String** | The action (or type) associated with a Note. You can find all available note actions in a Bullhorn instance under System Settings > commentActionList. The default action is `Note`. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfBullhorn.new(
+ action: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfGreenhouse.md b/docs/PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfGreenhouse.md
new file mode 100644
index 0000000..b3cebbd
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfGreenhouse.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfGreenhouse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **visibility** | **String** | Visibility of the created note. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfGreenhouse.new(
+ visibility: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfRecruitee.md b/docs/PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfRecruitee.md
new file mode 100644
index 0000000..bd0c118
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfRecruitee.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfRecruitee
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **visibility** | **Object** | | [optional] |
+| **is_json** | **Boolean** | Whether the note is in a stringified JSON format. If true, content should contain a valid JSON as per the [Recruitee API documentation](https://docs.recruitee.com/reference/candidatesidnotes) (body_json field). If false we add the note as a plain text. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfRecruitee.new(
+ visibility: null,
+ is_json: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfTeamtailor.md b/docs/PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfTeamtailor.md
new file mode 100644
index 0000000..0bf0ef6
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfTeamtailor.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfTeamtailor
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **user_id** | **String** | ID of the user that created the note. Defaults to the first admin user found. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdNotesRequestBodyRemoteFieldsAllOfTeamtailor.new(
+ user_id: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdRejectPositiveResponse.md b/docs/PostAtsApplicationsApplicationIdRejectPositiveResponse.md
new file mode 100644
index 0000000..db37f37
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdRejectPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PostAtsApplicationsApplicationIdRejectPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | **Object** | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdRejectPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdRejectRequestBody.md b/docs/PostAtsApplicationsApplicationIdRejectRequestBody.md
new file mode 100644
index 0000000..1756424
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdRejectRequestBody.md
@@ -0,0 +1,22 @@
+# Kombo::PostAtsApplicationsApplicationIdRejectRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **rejection_reason_id** | **String** | The Kombo ID of the rejection reason. | |
+| **note** | **String** | A optional free text rejection note. Passed through if possible. | [optional] |
+| **remote_fields** | [**PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFields**](PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFields.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdRejectRequestBody.new(
+ rejection_reason_id: null,
+ note: null,
+ remote_fields: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFields.md b/docs/PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFields.md
new file mode 100644
index 0000000..bb8aa87
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFields.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFields
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **greenhouse** | [**PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse**](PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse.md) | | [optional] |
+| **workable** | [**PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable**](PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFields.new(
+ greenhouse: null,
+ workable: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFieldsAllOfGreenhouse.md b/docs/PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFieldsAllOfGreenhouse.md
new file mode 100644
index 0000000..3f356f9
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFieldsAllOfGreenhouse.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFieldsAllOfGreenhouse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **rejection_email** | **Hash<String, Object>** | Additional data fields that we will pass through to the `rejection_email` field of Greenhouse's [reject application](https://developers.greenhouse.io/harvest.html#post-reject-application) endpoint. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdRejectRequestBodyRemoteFieldsAllOfGreenhouse.new(
+ rejection_email: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdResultLinksPositiveResponse.md b/docs/PostAtsApplicationsApplicationIdResultLinksPositiveResponse.md
new file mode 100644
index 0000000..7374034
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdResultLinksPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PostAtsApplicationsApplicationIdResultLinksPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | **Object** | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdResultLinksPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdResultLinksRequestBody.md b/docs/PostAtsApplicationsApplicationIdResultLinksRequestBody.md
new file mode 100644
index 0000000..d16c71b
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdResultLinksRequestBody.md
@@ -0,0 +1,24 @@
+# Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **label** | **String** | If we can display a display name for the link, we will use this label. | |
+| **url** | **String** | URL of the link. | |
+| **details** | [**PostAtsApplicationsApplicationIdResultLinksRequestBodyDetails**](PostAtsApplicationsApplicationIdResultLinksRequestBodyDetails.md) | | [optional] |
+| **remote_fields** | [**PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFields**](PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFields.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBody.new(
+ label: null,
+ url: null,
+ details: null,
+ remote_fields: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdResultLinksRequestBodyDetails.md b/docs/PostAtsApplicationsApplicationIdResultLinksRequestBodyDetails.md
new file mode 100644
index 0000000..8f573eb
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdResultLinksRequestBodyDetails.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyDetails
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **custom_field_name_prefix** | **String** | That will be added to the attribute labels if they are used for custom fields. If you specify `Acme:` as the prefix, the custom field will be named `Acme: Score`. Putting in the name of your company/product is a good idea. | |
+| **attributes** | [**Array<PostAtsApplicationsApplicationIdResultLinksRequestBodyDetailsAttributesInner>**](PostAtsApplicationsApplicationIdResultLinksRequestBodyDetailsAttributesInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyDetails.new(
+ custom_field_name_prefix: null,
+ attributes: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdResultLinksRequestBodyDetailsAttributesInner.md b/docs/PostAtsApplicationsApplicationIdResultLinksRequestBodyDetailsAttributesInner.md
new file mode 100644
index 0000000..9ed25a2
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdResultLinksRequestBodyDetailsAttributesInner.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyDetailsAttributesInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **key** | **String** | The name of the attribute | |
+| **value** | **String** | The value of the attribute | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyDetailsAttributesInner.new(
+ key: null,
+ value: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFields.md b/docs/PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFields.md
new file mode 100644
index 0000000..ff13b29
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFields.md
@@ -0,0 +1,24 @@
+# Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFields
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **icims** | [**PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfIcims**](PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfIcims.md) | | [optional] |
+| **oracle** | [**PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfOracle**](PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfOracle.md) | | [optional] |
+| **greenhouse** | [**PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse**](PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse.md) | | [optional] |
+| **workable** | [**PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable**](PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFields.new(
+ icims: null,
+ oracle: null,
+ greenhouse: null,
+ workable: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfIcims.md b/docs/PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfIcims.md
new file mode 100644
index 0000000..6daba81
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfIcims.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfIcims
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **assessment_package_id** | **String** | The package ID of the assessment that the result link will be added to. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfIcims.new(
+ assessment_package_id: null
+)
+```
+
diff --git a/docs/PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfOracle.md b/docs/PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfOracle.md
new file mode 100644
index 0000000..46af2b6
--- /dev/null
+++ b/docs/PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfOracle.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfOracle
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **override_document_category** | **String** | Allows you to override the document category for the url. (Default: MISC) | [optional] |
+| **multi_post_to_all_current_applications** | **Boolean** | If true, the result link will be posted to all current applications for the candidate. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFieldsAllOfOracle.new(
+ override_document_category: null,
+ multi_post_to_all_current_applications: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesCandidateIdAttachmentsPositiveResponse.md b/docs/PostAtsCandidatesCandidateIdAttachmentsPositiveResponse.md
new file mode 100644
index 0000000..421a4da
--- /dev/null
+++ b/docs/PostAtsCandidatesCandidateIdAttachmentsPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PostAtsCandidatesCandidateIdAttachmentsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | **Object** | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesCandidateIdAttachmentsPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesCandidateIdAttachmentsRequestBody.md b/docs/PostAtsCandidatesCandidateIdAttachmentsRequestBody.md
new file mode 100644
index 0000000..033d0af
--- /dev/null
+++ b/docs/PostAtsCandidatesCandidateIdAttachmentsRequestBody.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsCandidatesCandidateIdAttachmentsRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **attachment** | [**PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment**](PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment.md) | | |
+| **remote_fields** | [**PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields**](PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesCandidateIdAttachmentsRequestBody.new(
+ attachment: null,
+ remote_fields: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesCandidateIdResultLinksPositiveResponse.md b/docs/PostAtsCandidatesCandidateIdResultLinksPositiveResponse.md
new file mode 100644
index 0000000..635f4a4
--- /dev/null
+++ b/docs/PostAtsCandidatesCandidateIdResultLinksPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PostAtsCandidatesCandidateIdResultLinksPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | **Object** | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesCandidateIdResultLinksPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesCandidateIdResultLinksRequestBody.md b/docs/PostAtsCandidatesCandidateIdResultLinksRequestBody.md
new file mode 100644
index 0000000..e6f1148
--- /dev/null
+++ b/docs/PostAtsCandidatesCandidateIdResultLinksRequestBody.md
@@ -0,0 +1,24 @@
+# Kombo::PostAtsCandidatesCandidateIdResultLinksRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **label** | **String** | If the system allows us to display a display name for the link, we will use this label. | |
+| **url** | **String** | URL of the link. | |
+| **details** | [**PostAtsApplicationsApplicationIdResultLinksRequestBodyDetails**](PostAtsApplicationsApplicationIdResultLinksRequestBodyDetails.md) | | [optional] |
+| **remote_fields** | [**PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFields**](PostAtsApplicationsApplicationIdResultLinksRequestBodyRemoteFields.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesCandidateIdResultLinksRequestBody.new(
+ label: null,
+ url: null,
+ details: null,
+ remote_fields: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesCandidateIdTagsPositiveResponse.md b/docs/PostAtsCandidatesCandidateIdTagsPositiveResponse.md
new file mode 100644
index 0000000..d89951d
--- /dev/null
+++ b/docs/PostAtsCandidatesCandidateIdTagsPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PostAtsCandidatesCandidateIdTagsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | **Object** | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesCandidateIdTagsPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesCandidateIdTagsRequestBody.md b/docs/PostAtsCandidatesCandidateIdTagsRequestBody.md
new file mode 100644
index 0000000..7905c12
--- /dev/null
+++ b/docs/PostAtsCandidatesCandidateIdTagsRequestBody.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsCandidatesCandidateIdTagsRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **tag** | [**PostAtsCandidatesCandidateIdTagsRequestBodyTag**](PostAtsCandidatesCandidateIdTagsRequestBodyTag.md) | | |
+| **remote_fields** | [**PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields**](PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesCandidateIdTagsRequestBody.new(
+ tag: null,
+ remote_fields: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesCandidateIdTagsRequestBodyTag.md b/docs/PostAtsCandidatesCandidateIdTagsRequestBodyTag.md
new file mode 100644
index 0000000..a3df28d
--- /dev/null
+++ b/docs/PostAtsCandidatesCandidateIdTagsRequestBodyTag.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesCandidateIdTagsRequestBodyTag
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **name** | **String** | The name of the tag you would like to add. We will automatically find the matching ID of the tag in the system. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesCandidateIdTagsRequestBodyTag.new(
+ name: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesPositiveResponse.md b/docs/PostAtsCandidatesPositiveResponse.md
new file mode 100644
index 0000000..06b6f51
--- /dev/null
+++ b/docs/PostAtsCandidatesPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PostAtsCandidatesPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetAtsCandidatesPositiveResponseDataResultsInner**](GetAtsCandidatesPositiveResponseDataResultsInner.md) | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBody.md b/docs/PostAtsCandidatesRequestBody.md
new file mode 100644
index 0000000..70d000f
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBody.md
@@ -0,0 +1,32 @@
+# Kombo::PostAtsCandidatesRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **candidate** | [**PostAtsCandidatesRequestBodyCandidate**](PostAtsCandidatesRequestBodyCandidate.md) | | |
+| **application** | [**PostAtsCandidatesRequestBodyApplication**](PostAtsCandidatesRequestBodyApplication.md) | | |
+| **screening_question_answers** | [**Array<PostAtsCandidatesRequestBodyScreeningQuestionAnswersInner>**](PostAtsCandidatesRequestBodyScreeningQuestionAnswersInner.md) | Array of answers to screening questions. Currently, not all question types are supported, and unsupported ones will not be submitted. The available questions for a job can be retrieved from the get jobs endpoint. The answers will be validated based on the format of the questions. Make sure to follow this schema to avoid errors. | [optional] |
+| **attachments** | [**Array<PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment>**](PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment.md) | An array of the attachments you would like upload. | [optional] |
+| **source** | [**PostAtsCandidatesRequestBodySource**](PostAtsCandidatesRequestBodySource.md) | | [optional] |
+| **sourced_by** | [**PostAtsCandidatesRequestBodySourcedBy**](PostAtsCandidatesRequestBodySourcedBy.md) | | [optional] |
+| **gdpr_consent** | [**PostAtsCandidatesRequestBodyGdprConsent**](PostAtsCandidatesRequestBodyGdprConsent.md) | | [optional] |
+| **remote_fields** | [**PostAtsCandidatesRequestBodyRemoteFields**](PostAtsCandidatesRequestBodyRemoteFields.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBody.new(
+ candidate: null,
+ application: null,
+ screening_question_answers: null,
+ attachments: null,
+ source: null,
+ sourced_by: null,
+ gdpr_consent: null,
+ remote_fields: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyApplication.md b/docs/PostAtsCandidatesRequestBodyApplication.md
new file mode 100644
index 0000000..cac91b7
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyApplication.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsCandidatesRequestBodyApplication
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **job_id** | **String** | The Kombo ID or Remote ID of the Job this candidate should apply to. If you want to use the ID of the integrated system (remote_id) you need to prefix the ID with \"remote:\". You can use the remote ID if you do not want to sync jobs. | |
+| **stage_id** | **String** | Stage this candidate should be in. If left out, the default stage for this job will be used. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyApplication.new(
+ job_id: null,
+ stage_id: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyCandidate.md b/docs/PostAtsCandidatesRequestBodyCandidate.md
new file mode 100644
index 0000000..aeb7d35
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyCandidate.md
@@ -0,0 +1,42 @@
+# Kombo::PostAtsCandidatesRequestBodyCandidate
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **first_name** | **String** | The first name of the candidate. | |
+| **last_name** | **String** | The last name of the candidate. | |
+| **email_address** | **String** | The primary email address this application will be created with. | |
+| **additional_email_addresses** | [**Array<PostAtsCandidatesRequestBodyCandidateAdditionalEmailAddressesInner>**](PostAtsCandidatesRequestBodyCandidateAdditionalEmailAddressesInner.md) | | [optional] |
+| **company** | **String** | The company where the candidate is currently working. | [optional] |
+| **title** | **String** | The current job title of the candidate. | [optional] |
+| **phone_number** | **String** | The phone number of the candidate. | [optional] |
+| **additional_phone_numbers** | [**Array<PostAtsCandidatesRequestBodyCandidateAdditionalPhoneNumbersInner>**](PostAtsCandidatesRequestBodyCandidateAdditionalPhoneNumbersInner.md) | | [optional] |
+| **location** | [**PostAtsCandidatesRequestBodyCandidateLocation**](PostAtsCandidatesRequestBodyCandidateLocation.md) | | [optional] |
+| **gender** | **String** | The gender of the candidate. Must be one of `MALE`, `FEMALE`, or `OTHER`. | [optional] |
+| **availability_date** | **Time** | The date the candidate is available to start working. | [optional] |
+| **salary_expectations** | [**PostAtsCandidatesRequestBodyCandidateSalaryExpectations**](PostAtsCandidatesRequestBodyCandidateSalaryExpectations.md) | | [optional] |
+| **social_links** | [**Array<PostAtsCandidatesRequestBodyCandidateSocialLinksInner>**](PostAtsCandidatesRequestBodyCandidateSocialLinksInner.md) | A list of social media links of the candidate. The links must be valid URLs. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyCandidate.new(
+ first_name: null,
+ last_name: null,
+ email_address: null,
+ additional_email_addresses: null,
+ company: null,
+ title: null,
+ phone_number: null,
+ additional_phone_numbers: null,
+ location: null,
+ gender: null,
+ availability_date: null,
+ salary_expectations: null,
+ social_links: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyCandidateAdditionalEmailAddressesInner.md b/docs/PostAtsCandidatesRequestBodyCandidateAdditionalEmailAddressesInner.md
new file mode 100644
index 0000000..9046dbb
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyCandidateAdditionalEmailAddressesInner.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsCandidatesRequestBodyCandidateAdditionalEmailAddressesInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **type** | **String** | | |
+| **email_address** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyCandidateAdditionalEmailAddressesInner.new(
+ type: null,
+ email_address: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyCandidateAdditionalPhoneNumbersInner.md b/docs/PostAtsCandidatesRequestBodyCandidateAdditionalPhoneNumbersInner.md
new file mode 100644
index 0000000..666bfd3
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyCandidateAdditionalPhoneNumbersInner.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsCandidatesRequestBodyCandidateAdditionalPhoneNumbersInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **type** | **String** | | |
+| **phone_number** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyCandidateAdditionalPhoneNumbersInner.new(
+ type: null,
+ phone_number: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyCandidateLocation.md b/docs/PostAtsCandidatesRequestBodyCandidateLocation.md
new file mode 100644
index 0000000..7589566
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyCandidateLocation.md
@@ -0,0 +1,24 @@
+# Kombo::PostAtsCandidatesRequestBodyCandidateLocation
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **city** | **String** | | [optional] |
+| **country** | **String** | The uppercase two-letter ISO country (e.g., `DE`). For systems that use codes in formats other than `ISO 3166-1 alpha-2`, Kombo transforms the ISO Codes to the appropriate value. | |
+| **state** | **String** | | [optional] |
+| **zip_code** | **String** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyCandidateLocation.new(
+ city: null,
+ country: null,
+ state: null,
+ zip_code: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyCandidateSalaryExpectations.md b/docs/PostAtsCandidatesRequestBodyCandidateSalaryExpectations.md
new file mode 100644
index 0000000..e408657
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyCandidateSalaryExpectations.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsCandidatesRequestBodyCandidateSalaryExpectations
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **period** | **String** | The period of the salary expectations. Must be one of `MONTH` or `YEAR`. | |
+| **amount** | **Float** | The amount of the salary expectations. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyCandidateSalaryExpectations.new(
+ period: null,
+ amount: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyCandidateSocialLinksInner.md b/docs/PostAtsCandidatesRequestBodyCandidateSocialLinksInner.md
new file mode 100644
index 0000000..37ef765
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyCandidateSocialLinksInner.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyCandidateSocialLinksInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **url** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyCandidateSocialLinksInner.new(
+ url: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyGdprConsent.md b/docs/PostAtsCandidatesRequestBodyGdprConsent.md
new file mode 100644
index 0000000..23bd995
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyGdprConsent.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsCandidatesRequestBodyGdprConsent
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **expires_at** | **Time** | Until when the candidate has granted the company they're applying to permission to process their personal data. | [optional] |
+| **given** | **Boolean** | Whether the candidate has given consent. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyGdprConsent.new(
+ expires_at: null,
+ given: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFields.md b/docs/PostAtsCandidatesRequestBodyRemoteFields.md
new file mode 100644
index 0000000..4dd2667
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFields.md
@@ -0,0 +1,56 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFields
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **successfactors** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfSuccessfactors**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfSuccessfactors.md) | | [optional] |
+| **personio** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfPersonio**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfPersonio.md) | | [optional] |
+| **talentsoft** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentsoft**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentsoft.md) | | [optional] |
+| **teamtailor** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailor**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailor.md) | | [optional] |
+| **greenhouse** | [**PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse**](PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse.md) | | [optional] |
+| **lever** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfLever**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfLever.md) | | [optional] |
+| **workable** | [**PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable**](PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable.md) | | [optional] |
+| **workday** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkday**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkday.md) | | [optional] |
+| **zohorecruit** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfZohorecruit**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfZohorecruit.md) | | [optional] |
+| **bullhorn** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfBullhorn**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfBullhorn.md) | | [optional] |
+| **smartrecruiters** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfSmartrecruiters**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfSmartrecruiters.md) | | [optional] |
+| **talentadore** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentadore**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentadore.md) | | [optional] |
+| **guidecom** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfGuidecom**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfGuidecom.md) | | [optional] |
+| **dvinci** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfDvinci**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfDvinci.md) | | [optional] |
+| **hrworks** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfHrworks**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfHrworks.md) | | [optional] |
+| **jobylon** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylon**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylon.md) | | [optional] |
+| **avature** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvature**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvature.md) | | [optional] |
+| **recruitee** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruitee**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruitee.md) | | [optional] |
+| **umantis** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfUmantis**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfUmantis.md) | | [optional] |
+| **piloga** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfPiloga**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfPiloga.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFields.new(
+ successfactors: null,
+ personio: null,
+ talentsoft: null,
+ teamtailor: null,
+ greenhouse: null,
+ lever: null,
+ workable: null,
+ workday: null,
+ zohorecruit: null,
+ bullhorn: null,
+ smartrecruiters: null,
+ talentadore: null,
+ guidecom: null,
+ dvinci: null,
+ hrworks: null,
+ jobylon: null,
+ avature: null,
+ recruitee: null,
+ umantis: null,
+ piloga: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvature.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvature.md
new file mode 100644
index 0000000..5f37c2e
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvature.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvature
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **workflow** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflow**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflow.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvature.new(
+ workflow: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflow.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflow.md
new file mode 100644
index 0000000..ce7ec8d
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflow.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflow
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **step** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflowStep**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflowStep.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflow.new(
+ step: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflowStep.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflowStep.md
new file mode 100644
index 0000000..051cef7
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflowStep.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflowStep
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **Integer** | The ID of the workflow step to assign to the candidate. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfAvatureWorkflowStep.new(
+ id: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfBullhorn.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfBullhorn.md
new file mode 100644
index 0000000..820510d
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfBullhorn.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfBullhorn
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **candidate** | **Hash<String, Object>** | Fields that we will pass through to Bullhorn's `Candidate` object. | [optional] |
+| **job_submission** | **Hash<String, Object>** | Fields that we will pass through to Bullhorn's `JobSubmission` object. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfBullhorn.new(
+ candidate: null,
+ job_submission: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfDvinci.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfDvinci.md
new file mode 100644
index 0000000..d7fc466
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfDvinci.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfDvinci
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **application** | **Hash<String, Object>** | Fields that we will pass through to d.vinci's application object. This API is used: https://static.dvinci-easy.com/files/d.vinci%20application-apply-api.html#jobs__id__applyApi_post | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfDvinci.new(
+ application: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfGreenhouse.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfGreenhouse.md
new file mode 100644
index 0000000..50deb48
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfGreenhouse.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfGreenhouse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **candidate** | **Hash<String, Object>** | Fields that we will pass through to Greenhouse's `Candidate` object. | [optional] |
+| **application** | **Hash<String, Object>** | Fields that we will pass through to Greenhouse's `Application` object. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfGreenhouse.new(
+ candidate: null,
+ application: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfGuidecom.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfGuidecom.md
new file mode 100644
index 0000000..ae34969
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfGuidecom.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfGuidecom
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **candidate** | **Hash<String, Object>** | Fields that we will pass through to GuideCom's `Candidate` object. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfGuidecom.new(
+ candidate: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfHrworks.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfHrworks.md
new file mode 100644
index 0000000..8a9cae5
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfHrworks.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfHrworks
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **job_application** | **Hash<String, Object>** | Fields that we will pass through to HRWorks's `Job Application` object. This API is used: https://developers.hrworks.de/docs/hrworks-api-v2/53021f035f62d-post-job-applications | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfHrworks.new(
+ job_application: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylon.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylon.md
new file mode 100644
index 0000000..62ec0dc
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylon.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylon
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **application** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylonApplication**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylonApplication.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylon.new(
+ application: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylonApplication.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylonApplication.md
new file mode 100644
index 0000000..9b3f84e
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylonApplication.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylonApplication
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **message** | **String** | The `message` field of Jobylon's create application endpoint's request body. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfJobylonApplication.new(
+ message: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfLever.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfLever.md
new file mode 100644
index 0000000..ae302a6
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfLever.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfLever
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **candidate** | **Hash<String, Object>** | Fields that we will pass through to Lever's `Candidate` object. Note: make sure to submit the keys and values in the correct form data format. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfLever.new(
+ candidate: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfPersonio.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfPersonio.md
new file mode 100644
index 0000000..7c58db9
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfPersonio.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPersonio
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **application** | **Hash<String, Object>** | Fields that we will pass through to Personio's `application` object. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPersonio.new(
+ application: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfPiloga.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfPiloga.md
new file mode 100644
index 0000000..12e2eb3
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfPiloga.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPiloga
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **candidate** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfPilogaCandidate**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfPilogaCandidate.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPiloga.new(
+ candidate: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfPilogaCandidate.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfPilogaCandidate.md
new file mode 100644
index 0000000..70579fa
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfPilogaCandidate.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPilogaCandidate
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **street** | **String** | The street address of the candidate. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfPilogaCandidate.new(
+ street: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruitee.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruitee.md
new file mode 100644
index 0000000..a36a1d5
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruitee.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruitee
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **candidate** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruiteeCandidate**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruiteeCandidate.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruitee.new(
+ candidate: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruiteeCandidate.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruiteeCandidate.md
new file mode 100644
index 0000000..270bf4a
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruiteeCandidate.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruiteeCandidate
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **cover_letter_text** | **String** | The cover letter text as a string. This will be visible on the main candidate page. Can be provided together with the `cover_letter` attachment, which will end up in a separate `file` section. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfRecruiteeCandidate.new(
+ cover_letter_text: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfSmartrecruiters.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfSmartrecruiters.md
new file mode 100644
index 0000000..e7bd9da
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfSmartrecruiters.md
@@ -0,0 +1,22 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfSmartrecruiters
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **candidate_with_questions** | **Hash<String, Object>** | **(⚠️ Deprecated - Use the `candidate` field instead.)** Fields that we will pass through to the SmartRecruiters's `Candidate` object when created with screening question answers. This API is used: https://developers.smartrecruiters.com/reference/createcandidate-1 | [optional] |
+| **candidate_without_questions** | **Hash<String, Object>** | **(⚠️ Deprecated - Use the `candidate` field instead.)** Fields that we will pass through to the SmartRecruiters's `Candidate` object when created with screening question answers. This API is used: https://developers.smartrecruiters.com/reference/candidatesaddtojob-1 | [optional] |
+| **candidate** | **Hash<String, Object>** | Fields that we will pass through to the SmartRecruiters's `Candidate` object. This API is used: https://developers.smartrecruiters.com/reference/createcandidate-1 | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfSmartrecruiters.new(
+ candidate_with_questions: null,
+ candidate_without_questions: null,
+ candidate: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfSuccessfactors.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfSuccessfactors.md
new file mode 100644
index 0000000..5a06485
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfSuccessfactors.md
@@ -0,0 +1,24 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfSuccessfactors
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **candidate** | **Hash<String, Object>** | Fields that we will pass through to SuccessFactor's `Candidate` object. | [optional] |
+| **job_application** | **Hash<String, Object>** | Fields that we will pass through to SuccessFactor's `JobApplication` object. | [optional] |
+| **copy_job_application_attachments** | **Boolean** | If set to true, we will copy custom attachments from the JobApplication to the Candidate. | [optional] |
+| **update_existing_candidate** | **Boolean** | When the candidate already exists, whether to update the Candidate with the remote fields found under the Candidate entity. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfSuccessfactors.new(
+ candidate: null,
+ job_application: null,
+ copy_job_application_attachments: null,
+ update_existing_candidate: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentadore.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentadore.md
new file mode 100644
index 0000000..d75e05c
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentadore.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentadore
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **applications** | **Hash<String, Object>** | Fields that we will pass through to the Talentadore's when creating applications. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentadore.new(
+ applications: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentsoft.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentsoft.md
new file mode 100644
index 0000000..6c40e89
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentsoft.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentsoft
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **applicant** | **Hash<String, Object>** | Fields that we will pass through to TalentSoft's `applicant` object. | [optional] |
+| **application** | **Hash<String, Object>** | Fields that we will pass through to TalentSoft's `application` object. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTalentsoft.new(
+ applicant: null,
+ application: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailor.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailor.md
new file mode 100644
index 0000000..9280756
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailor.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailor
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **candidate** | **Hash<String, Object>** | Fields that we will pass through to Teamtailor's `Candidate` object. | [optional] |
+| **application** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailorApplication**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailorApplication.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailor.new(
+ candidate: null,
+ application: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailorApplication.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailorApplication.md
new file mode 100644
index 0000000..54a9a9c
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailorApplication.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailorApplication
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **attributes** | **Hash<String, Object>** | Fields that we will pass through to Teamtailor's attributes section `Job application` object. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfTeamtailorApplication.new(
+ attributes: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfUmantis.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfUmantis.md
new file mode 100644
index 0000000..4f856d9
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfUmantis.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfUmantis
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **person** | **Hash<String, Object>** | Fields that we will pass through to Abacus Umantis's \"Create a person\" endpoint's `attributes` when creating a candidate. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfUmantis.new(
+ person: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkable.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkable.md
new file mode 100644
index 0000000..1a99190
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkable.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkable
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **candidate** | **Hash<String, Object>** | Fields that we will pass through to Workable's `Candidate` object. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkable.new(
+ candidate: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkday.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkday.md
new file mode 100644
index 0000000..d5c0cb8
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkday.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkday
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **candidate_data** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateData**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateData.md) | | [optional] |
+| **override_source_reference_wid** | **String** | Used to override the automatic source WID. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkday.new(
+ candidate_data: null,
+ override_source_reference_wid: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateData.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateData.md
new file mode 100644
index 0000000..7e90f41
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateData.md
@@ -0,0 +1,26 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **name_detail_data** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailData**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailData.md) | | [optional] |
+| **language_reference** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataLanguageReference**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataLanguageReference.md) | | [optional] |
+| **job_application_data** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationData**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationData.md) | | [optional] |
+| **contact_data** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactData**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactData.md) | | [optional] |
+| **worker_reference** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataWorkerReference**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataWorkerReference.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateData.new(
+ name_detail_data: null,
+ language_reference: null,
+ job_application_data: null,
+ contact_data: null,
+ worker_reference: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactData.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactData.md
new file mode 100644
index 0000000..1272063
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactData.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **location_data** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationData**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationData.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactData.new(
+ location_data: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationData.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationData.md
new file mode 100644
index 0000000..2fe7d2a
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationData.md
@@ -0,0 +1,26 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **address_line_1** | **String** | | [optional] |
+| **address_line_2** | **String** | | [optional] |
+| **region_subdivision_1** | **String** | | [optional] |
+| **country_region_reference** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationDataCountryRegionReference**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationDataCountryRegionReference.md) | | [optional] |
+| **country_city_reference** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationData.new(
+ address_line_1: null,
+ address_line_2: null,
+ region_subdivision_1: null,
+ country_region_reference: null,
+ country_city_reference: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationDataCountryRegionReference.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationDataCountryRegionReference.md
new file mode 100644
index 0000000..46893fa
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationDataCountryRegionReference.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationDataCountryRegionReference
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **country_region_id** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataContactDataLocationDataCountryRegionReference.new(
+ country_region_id: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationData.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationData.md
new file mode 100644
index 0000000..94bb766
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationData.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **job_applied_to_data** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToData**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToData.md) | | [optional] |
+| **resume_data** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeData**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeData.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationData.new(
+ job_applied_to_data: null,
+ resume_data: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToData.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToData.md
new file mode 100644
index 0000000..6271837
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToData.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **global_personal_information_data** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToDataGlobalPersonalInformationData**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToDataGlobalPersonalInformationData.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToData.new(
+ global_personal_information_data: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToDataGlobalPersonalInformationData.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToDataGlobalPersonalInformationData.md
new file mode 100644
index 0000000..9893c07
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToDataGlobalPersonalInformationData.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToDataGlobalPersonalInformationData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **date_of_birth** | **String** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataJobAppliedToDataGlobalPersonalInformationData.new(
+ date_of_birth: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeData.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeData.md
new file mode 100644
index 0000000..ca11e23
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeData.md
@@ -0,0 +1,24 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **education_data** | [**Array<PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInner>**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInner.md) | | [optional] |
+| **skill_data** | [**Array<PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataSkillDataInner>**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataSkillDataInner.md) | | [optional] |
+| **language_data** | [**Array<PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInner>**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInner.md) | | [optional] |
+| **experience_data** | [**Array<PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataExperienceDataInner>**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataExperienceDataInner.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeData.new(
+ education_data: null,
+ skill_data: null,
+ language_data: null,
+ experience_data: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInner.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInner.md
new file mode 100644
index 0000000..009977f
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInner.md
@@ -0,0 +1,28 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **school_name** | **String** | | [optional] |
+| **first_year_attended** | **Float** | | [optional] |
+| **last_year_attended** | **Float** | | [optional] |
+| **field_of_study_reference** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference.md) | | [optional] |
+| **degree_reference** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference.md) | | [optional] |
+| **grade_average** | **String** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInner.new(
+ school_name: null,
+ first_year_attended: null,
+ last_year_attended: null,
+ field_of_study_reference: null,
+ degree_reference: null,
+ grade_average: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference.md
new file mode 100644
index 0000000..18dad65
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **wid** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference.new(
+ wid: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataExperienceDataInner.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataExperienceDataInner.md
new file mode 100644
index 0000000..6d69681
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataExperienceDataInner.md
@@ -0,0 +1,30 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataExperienceDataInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **company_name** | **String** | | |
+| **title** | **String** | | |
+| **location** | **String** | | [optional] |
+| **start_date** | **Time** | YYYY-MM-DDTHH:mm:ss.sssZ | |
+| **end_date** | **Time** | YYYY-MM-DDTHH:mm:ss.sssZ | [optional] |
+| **currently_work_here** | **Boolean** | | [optional] |
+| **description** | **String** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataExperienceDataInner.new(
+ company_name: null,
+ title: null,
+ location: null,
+ start_date: null,
+ end_date: null,
+ currently_work_here: null,
+ description: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInner.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInner.md
new file mode 100644
index 0000000..fc517b7
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInner.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **language_reference** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageReference**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageReference.md) | | [optional] |
+| **language** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguage**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguage.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInner.new(
+ language_reference: null,
+ language: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguage.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguage.md
new file mode 100644
index 0000000..006eac1
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguage.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguage
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **native** | **Boolean** | | [optional] |
+| **language_ability** | [**Array<PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInner>**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguage.new(
+ native: null,
+ language_ability: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInner.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInner.md
new file mode 100644
index 0000000..49a3f33
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInner.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **language_ability_data** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInnerLanguageAbilityData**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInnerLanguageAbilityData.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInner.new(
+ language_ability_data: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInnerLanguageAbilityData.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInnerLanguageAbilityData.md
new file mode 100644
index 0000000..f910628
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInnerLanguageAbilityData.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInnerLanguageAbilityData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **language_proficiency_reference** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference.md) | | [optional] |
+| **language_ability_type_reference** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataEducationDataInnerFieldOfStudyReference.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageLanguageAbilityInnerLanguageAbilityData.new(
+ language_proficiency_reference: null,
+ language_ability_type_reference: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageReference.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageReference.md
new file mode 100644
index 0000000..96da577
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageReference.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageReference
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **wid** | **String** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataLanguageDataInnerLanguageReference.new(
+ wid: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataSkillDataInner.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataSkillDataInner.md
new file mode 100644
index 0000000..aa1e198
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataSkillDataInner.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataSkillDataInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **skill_name** | **String** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataJobApplicationDataResumeDataSkillDataInner.new(
+ skill_name: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataLanguageReference.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataLanguageReference.md
new file mode 100644
index 0000000..49a85e6
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataLanguageReference.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataLanguageReference
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **wid** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataLanguageReference.new(
+ wid: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailData.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailData.md
new file mode 100644
index 0000000..3307885
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailData.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **middle_name** | **String** | The candidate's middle name | [optional] |
+| **social_suffix_reference** | [**PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailDataSocialSuffixReference**](PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailDataSocialSuffixReference.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailData.new(
+ middle_name: null,
+ social_suffix_reference: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailDataSocialSuffixReference.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailDataSocialSuffixReference.md
new file mode 100644
index 0000000..dffdffb
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailDataSocialSuffixReference.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailDataSocialSuffixReference
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **predefined_name_component_id** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataNameDetailDataSocialSuffixReference.new(
+ predefined_name_component_id: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataWorkerReference.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataWorkerReference.md
new file mode 100644
index 0000000..0532291
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataWorkerReference.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataWorkerReference
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **wid** | **String** | | [optional] |
+| **employee_id** | **String** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfWorkdayCandidateDataWorkerReference.new(
+ wid: null,
+ employee_id: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfZohorecruit.md b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfZohorecruit.md
new file mode 100644
index 0000000..472e350
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyRemoteFieldsAllOfZohorecruit.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfZohorecruit
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **candidate** | **Hash<String, Object>** | Fields that we will pass through to Zoho Recruit's `Candidate` object. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyRemoteFieldsAllOfZohorecruit.new(
+ candidate: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyScreeningQuestionAnswersInner.md b/docs/PostAtsCandidatesRequestBodyScreeningQuestionAnswersInner.md
new file mode 100644
index 0000000..4c62d2b
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyScreeningQuestionAnswersInner.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsCandidatesRequestBodyScreeningQuestionAnswersInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **question_id** | **String** | ID of the question returned by the Kombo API. We'll report a warning in the logs if the question can't be found on the job. | |
+| **answer** | [**PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswer**](PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswer.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyScreeningQuestionAnswersInner.new(
+ question_id: null,
+ answer: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswer.md b/docs/PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswer.md
new file mode 100644
index 0000000..2416ea4
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswer.md
@@ -0,0 +1,24 @@
+# Kombo::PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswer
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **name** | **String** | File name of the file you want to upload. We recommend providing something human-readable with a valid file extension (like `Resume.pdf`), as this might be shown in your customer's system. | |
+| **content_type** | **String** | Content/MIME type of the file (e.g., `application/pdf`). If you provide `data`, this is required. If you provide `data_url`, this is optional and we'll attempt to use the `Content-Type` header of the response. **Note:** Please validate that the content type you provide is actually meaningful (and not something generic like [`application/octet-stream`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/MIME_types#applicationoctet-stream)). Especially when using object storage (like AWS S3), it's easy to accidentally discard the content types of user-provided files, so make sure to explicitly persist them when processing uploads from your users (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html#SysMetadata), [Google Cloud](https://cloud.google.com/storage/docs/metadata#content-type), and [Azure](https://learn.microsoft.com/en-us/rest/api/storageservices/put-blob#request-headers-all-blob-types)). | [optional] |
+| **data_url** | **String** | URL to the file you want to upload that can be accessed without authentication headers. We will download the content immediately when receiving the request, so the URL can be short-lived. If you're using an object storage provider (like AWS S3), we strongly recommend providing a signed URL for secure access (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html), [Google Cloud](https://cloud.google.com/storage/docs/access-control/signed-urls), and [Azure](https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview)). **Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases. | [optional] |
+| **data** | **String** | Base64-encoded contents of the file you want to upload. **Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswer.new(
+ name: null,
+ content_type: null,
+ data_url: null,
+ data: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswerAnyOf.md b/docs/PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswerAnyOf.md
new file mode 100644
index 0000000..59906b2
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswerAnyOf.md
@@ -0,0 +1,24 @@
+# Kombo::PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswerAnyOf
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **name** | **String** | File name of the file you want to upload. We recommend providing something human-readable with a valid file extension (like `Resume.pdf`), as this might be shown in your customer's system. | |
+| **content_type** | **String** | Content/MIME type of the file (e.g., `application/pdf`). If you provide `data`, this is required. If you provide `data_url`, this is optional and we'll attempt to use the `Content-Type` header of the response. **Note:** Please validate that the content type you provide is actually meaningful (and not something generic like [`application/octet-stream`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/MIME_types#applicationoctet-stream)). Especially when using object storage (like AWS S3), it's easy to accidentally discard the content types of user-provided files, so make sure to explicitly persist them when processing uploads from your users (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html#SysMetadata), [Google Cloud](https://cloud.google.com/storage/docs/metadata#content-type), and [Azure](https://learn.microsoft.com/en-us/rest/api/storageservices/put-blob#request-headers-all-blob-types)). | [optional] |
+| **data_url** | **String** | URL to the file you want to upload that can be accessed without authentication headers. We will download the content immediately when receiving the request, so the URL can be short-lived. If you're using an object storage provider (like AWS S3), we strongly recommend providing a signed URL for secure access (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html), [Google Cloud](https://cloud.google.com/storage/docs/access-control/signed-urls), and [Azure](https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview)). **Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases. | [optional] |
+| **data** | **String** | Base64-encoded contents of the file you want to upload. **Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodyScreeningQuestionAnswersInnerAnswerAnyOf.new(
+ name: null,
+ content_type: null,
+ data_url: null,
+ data: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodySource.md b/docs/PostAtsCandidatesRequestBodySource.md
new file mode 100644
index 0000000..eea3d85
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodySource.md
@@ -0,0 +1,22 @@
+# Kombo::PostAtsCandidatesRequestBodySource
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **name** | **String** | Name of the source (e.g., `\"Example Job Board\"`). | [optional] |
+| **unified_key** | **String** | | [optional] |
+| **id** | **String** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodySource.new(
+ name: null,
+ unified_key: null,
+ id: null
+)
+```
+
diff --git a/docs/PostAtsCandidatesRequestBodySourcedBy.md b/docs/PostAtsCandidatesRequestBodySourcedBy.md
new file mode 100644
index 0000000..cc7416e
--- /dev/null
+++ b/docs/PostAtsCandidatesRequestBodySourcedBy.md
@@ -0,0 +1,18 @@
+# Kombo::PostAtsCandidatesRequestBodySourcedBy
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **user_id** | **String** | The Kombo ID or Remote ID of the User. Use the Kombo ID directly, or prefix the remote ID with \"remote:\" to reference the user by their ID in the remote system. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsCandidatesRequestBodySourcedBy.new(
+ user_id: null
+)
+```
+
diff --git a/docs/PostAtsImportTrackedApplicationPositiveResponse.md b/docs/PostAtsImportTrackedApplicationPositiveResponse.md
new file mode 100644
index 0000000..01513ae
--- /dev/null
+++ b/docs/PostAtsImportTrackedApplicationPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PostAtsImportTrackedApplicationPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**PostAtsImportTrackedApplicationPositiveResponseData**](PostAtsImportTrackedApplicationPositiveResponseData.md) | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsImportTrackedApplicationPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PostAtsImportTrackedApplicationPositiveResponseData.md b/docs/PostAtsImportTrackedApplicationPositiveResponseData.md
new file mode 100644
index 0000000..1a82505
--- /dev/null
+++ b/docs/PostAtsImportTrackedApplicationPositiveResponseData.md
@@ -0,0 +1,22 @@
+# Kombo::PostAtsImportTrackedApplicationPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | | |
+| **tracked_at** | **Time** | YYYY-MM-DDTHH:mm:ss.sssZ | |
+| **imported_id** | [**PostAtsImportTrackedApplicationPositiveResponseDataImportedId**](PostAtsImportTrackedApplicationPositiveResponseDataImportedId.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsImportTrackedApplicationPositiveResponseData.new(
+ id: null,
+ tracked_at: null,
+ imported_id: null
+)
+```
+
diff --git a/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedId.md b/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedId.md
new file mode 100644
index 0000000..19b14d6
--- /dev/null
+++ b/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedId.md
@@ -0,0 +1,28 @@
+# Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedId
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **erecruiter** | [**PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiter**](PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiter.md) | | [optional] |
+| **successfactors** | [**PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSuccessfactors**](PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSuccessfactors.md) | | [optional] |
+| **recruitee** | [**PostAtsImportTrackedApplicationPositiveResponseDataImportedIdRecruitee**](PostAtsImportTrackedApplicationPositiveResponseDataImportedIdRecruitee.md) | | [optional] |
+| **greenhouse** | [**PostAtsImportTrackedApplicationPositiveResponseDataImportedIdGreenhouse**](PostAtsImportTrackedApplicationPositiveResponseDataImportedIdGreenhouse.md) | | [optional] |
+| **onlyfy** | [**PostAtsImportTrackedApplicationPositiveResponseDataImportedIdOnlyfy**](PostAtsImportTrackedApplicationPositiveResponseDataImportedIdOnlyfy.md) | | [optional] |
+| **smartrecruiters** | [**PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSmartrecruiters**](PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSmartrecruiters.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedId.new(
+ erecruiter: null,
+ successfactors: null,
+ recruitee: null,
+ greenhouse: null,
+ onlyfy: null,
+ smartrecruiters: null
+)
+```
+
diff --git a/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiter.md b/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiter.md
new file mode 100644
index 0000000..492a228
--- /dev/null
+++ b/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiter.md
@@ -0,0 +1,24 @@
+# Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiter
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id_type** | **String** | Uses the `Api/Applications/{applicantId}` endpoint to retrieve the relevant application based on the candidate ID. | |
+| **application_remote_id** | **String** | | |
+| **job_remote_id** | **String** | | |
+| **candidate_remote_id** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiter.new(
+ id_type: null,
+ application_remote_id: null,
+ job_remote_id: null,
+ candidate_remote_id: null
+)
+```
+
diff --git a/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf.md b/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf.md
new file mode 100644
index 0000000..92bd24d
--- /dev/null
+++ b/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf.md
@@ -0,0 +1,22 @@
+# Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id_type** | **String** | Uses the `Api/Applications/ByJob/{jobId}` endpoint to retrieve the relevant application based on the job ID. | |
+| **application_remote_id** | **String** | | |
+| **job_remote_id** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf.new(
+ id_type: null,
+ application_remote_id: null,
+ job_remote_id: null
+)
+```
+
diff --git a/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf1.md b/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf1.md
new file mode 100644
index 0000000..666b3a4
--- /dev/null
+++ b/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf1.md
@@ -0,0 +1,22 @@
+# Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf1
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id_type** | **String** | Uses the `Api/Applications/{applicantId}` endpoint to retrieve the relevant application based on the candidate ID. | |
+| **candidate_remote_id** | **String** | | |
+| **application_remote_id** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiterAnyOf1.new(
+ id_type: null,
+ candidate_remote_id: null,
+ application_remote_id: null
+)
+```
+
diff --git a/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdGreenhouse.md b/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdGreenhouse.md
new file mode 100644
index 0000000..4239008
--- /dev/null
+++ b/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdGreenhouse.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdGreenhouse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id_type** | **String** | Uses the `/applications/{id}` endpoint to retrieve the application. | |
+| **application_id** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdGreenhouse.new(
+ id_type: null,
+ application_id: null
+)
+```
+
diff --git a/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdOnlyfy.md b/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdOnlyfy.md
new file mode 100644
index 0000000..416372b
--- /dev/null
+++ b/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdOnlyfy.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdOnlyfy
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id_type** | **String** | Uses the `/v1/application/{id}` endpoint to retrieve the application. | |
+| **application_id** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdOnlyfy.new(
+ id_type: null,
+ application_id: null
+)
+```
+
diff --git a/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdRecruitee.md b/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdRecruitee.md
new file mode 100644
index 0000000..fdf3dca
--- /dev/null
+++ b/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdRecruitee.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdRecruitee
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id_type** | **String** | Uses the `/candidates` endpoint to retrieve all candidates, to find the relevant application based on the placement ID. | |
+| **placement_id** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdRecruitee.new(
+ id_type: null,
+ placement_id: null
+)
+```
+
diff --git a/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSmartrecruiters.md b/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSmartrecruiters.md
new file mode 100644
index 0000000..cbf1d5c
--- /dev/null
+++ b/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSmartrecruiters.md
@@ -0,0 +1,22 @@
+# Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSmartrecruiters
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id_type** | **String** | Uses the `/candidates/{candidateId}/jobs/{jobId}` endpoint to retrieve the application. | |
+| **candidate_remote_id** | **String** | | |
+| **job_remote_id** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSmartrecruiters.new(
+ id_type: null,
+ candidate_remote_id: null,
+ job_remote_id: null
+)
+```
+
diff --git a/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSuccessfactors.md b/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSuccessfactors.md
new file mode 100644
index 0000000..6603823
--- /dev/null
+++ b/docs/PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSuccessfactors.md
@@ -0,0 +1,20 @@
+# Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSuccessfactors
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id_type** | **String** | Uses the `/JobApplication` ODATA endpoint to retrieve the relevant application based on the application ID. | |
+| **application_remote_id** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSuccessfactors.new(
+ id_type: null,
+ application_remote_id: null
+)
+```
+
diff --git a/docs/PostAtsImportTrackedApplicationRequestBody.md b/docs/PostAtsImportTrackedApplicationRequestBody.md
new file mode 100644
index 0000000..e1764e5
--- /dev/null
+++ b/docs/PostAtsImportTrackedApplicationRequestBody.md
@@ -0,0 +1,30 @@
+# Kombo::PostAtsImportTrackedApplicationRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **erecruiter** | [**PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiter**](PostAtsImportTrackedApplicationPositiveResponseDataImportedIdErecruiter.md) | | [optional] |
+| **successfactors** | [**PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSuccessfactors**](PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSuccessfactors.md) | | [optional] |
+| **recruitee** | [**PostAtsImportTrackedApplicationPositiveResponseDataImportedIdRecruitee**](PostAtsImportTrackedApplicationPositiveResponseDataImportedIdRecruitee.md) | | [optional] |
+| **greenhouse** | [**PostAtsImportTrackedApplicationPositiveResponseDataImportedIdGreenhouse**](PostAtsImportTrackedApplicationPositiveResponseDataImportedIdGreenhouse.md) | | [optional] |
+| **onlyfy** | [**PostAtsImportTrackedApplicationPositiveResponseDataImportedIdOnlyfy**](PostAtsImportTrackedApplicationPositiveResponseDataImportedIdOnlyfy.md) | | [optional] |
+| **smartrecruiters** | [**PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSmartrecruiters**](PostAtsImportTrackedApplicationPositiveResponseDataImportedIdSmartrecruiters.md) | | [optional] |
+| **tracked_at** | **Time** | YYYY-MM-DDTHH:mm:ss.sssZ | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsImportTrackedApplicationRequestBody.new(
+ erecruiter: null,
+ successfactors: null,
+ recruitee: null,
+ greenhouse: null,
+ onlyfy: null,
+ smartrecruiters: null,
+ tracked_at: null
+)
+```
+
diff --git a/docs/PostAtsJobsJobIdApplicationsPositiveResponse.md b/docs/PostAtsJobsJobIdApplicationsPositiveResponse.md
new file mode 100644
index 0000000..9a6f06f
--- /dev/null
+++ b/docs/PostAtsJobsJobIdApplicationsPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PostAtsJobsJobIdApplicationsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**PostAtsJobsJobIdApplicationsPositiveResponseData**](PostAtsJobsJobIdApplicationsPositiveResponseData.md) | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsJobsJobIdApplicationsPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PostAtsJobsJobIdApplicationsPositiveResponseData.md b/docs/PostAtsJobsJobIdApplicationsPositiveResponseData.md
new file mode 100644
index 0000000..041796b
--- /dev/null
+++ b/docs/PostAtsJobsJobIdApplicationsPositiveResponseData.md
@@ -0,0 +1,56 @@
+# Kombo::PostAtsJobsJobIdApplicationsPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **outcome** | **String** | Parsed status of the application. If Kombo identifies that the application was accepted and the candidate hired, it will be `HIRED`. If the application was rejected or the candidate declined, it will be `DECLINED`. If the application is still in process, it will be `PENDING`. Kombo will always try to deliver this information as reliably as possible. | |
+| **rejection_reason_name** | **String** | Reason for the rejection of the candidate. | |
+| **rejected_at** | **Time** | The time that the application was rejected. | |
+| **current_stage_id** | **String** | ID of the current application stage | |
+| **job_id** | **String** | The Kombo ID of the job which the candidate applied to. The ID can be used to retrieve the job from the `get jobs` endpoint. | |
+| **candidate_id** | **String** | The Kombo ID of the candidate who applied to the job. The ID can be used to retrieve the candidate from the `get candidates` endpoint. | |
+| **screening_question_answers** | [**Array<GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInner>**](GetAtsApplicationsPositiveResponseDataResultsInnerScreeningQuestionAnswersInner.md) | A list of answers to screening questions. The screening answer type `FILE` is currently unsupported. | [optional] |
+| **custom_fields** | **Hash<String, Object>** | A key-value store of fields not covered by the schema. [Read more](/custom-fields) | |
+| **integration_fields** | [**Array<GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner>**](GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner.md) | An array of selected passthrough integration fields. [Read more](/integration-fields) | |
+| **remote_url** | **String** | URL to the application in the source ATS system. When embedding this in your system, please consider that not for all ATS a dedicated application URL is available, so you might need to fall back to the candidate URL. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+| **remote_created_at** | **Time** | The date and time the object was created in the remote system. | |
+| **remote_updated_at** | **Time** | A timestamp retrieved from the remote system, describing when the resource was last updated. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+| **current_stage** | [**GetAtsApplicationsPositiveResponseDataResultsInnerCurrentStage**](GetAtsApplicationsPositiveResponseDataResultsInnerCurrentStage.md) | | |
+| **job** | [**GetAtsApplicationsPositiveResponseDataResultsInnerJob**](GetAtsApplicationsPositiveResponseDataResultsInnerJob.md) | | |
+| **candidate** | [**PostAtsJobsJobIdApplicationsPositiveResponseDataCandidate**](PostAtsJobsJobIdApplicationsPositiveResponseDataCandidate.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsJobsJobIdApplicationsPositiveResponseData.new(
+ id: null,
+ remote_id: null,
+ outcome: null,
+ rejection_reason_name: null,
+ rejected_at: null,
+ current_stage_id: null,
+ job_id: null,
+ candidate_id: null,
+ screening_question_answers: null,
+ custom_fields: null,
+ integration_fields: null,
+ remote_url: null,
+ changed_at: null,
+ remote_deleted_at: null,
+ remote_created_at: null,
+ remote_updated_at: null,
+ remote_data: null,
+ current_stage: null,
+ job: null,
+ candidate: null
+)
+```
+
diff --git a/docs/PostAtsJobsJobIdApplicationsPositiveResponseDataCandidate.md b/docs/PostAtsJobsJobIdApplicationsPositiveResponseDataCandidate.md
new file mode 100644
index 0000000..a8d0736
--- /dev/null
+++ b/docs/PostAtsJobsJobIdApplicationsPositiveResponseDataCandidate.md
@@ -0,0 +1,58 @@
+# Kombo::PostAtsJobsJobIdApplicationsPositiveResponseDataCandidate
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **first_name** | **String** | First name of the candidate. | |
+| **last_name** | **String** | Last name of the candidate. | |
+| **company** | **String** | The current company of the candidate. | |
+| **title** | **String** | The current job title of the candidate. | |
+| **confidential** | **Boolean** | Whether the candidate’s profile is confidential in the ATS. | |
+| **source** | **String** | The hiring source of the candidate. If you're a job board or recruiting service, you can use this to validate which candidates applied through your service and ensure that the correct referral compensation is paid out. | |
+| **phone_numbers** | [**Array<GetAtsApplicationsPositiveResponseDataResultsInnerCandidatePhoneNumbersInner>**](GetAtsApplicationsPositiveResponseDataResultsInnerCandidatePhoneNumbersInner.md) | A list of phone numbers of the candidate. | [optional] |
+| **email_addresses** | [**Array<GetAtsApplicationsPositiveResponseDataResultsInnerCandidateEmailAddressesInner>**](GetAtsApplicationsPositiveResponseDataResultsInnerCandidateEmailAddressesInner.md) | A list of email addresses of the candidate with an optional type. If an email address is invalid, it will be filtered out. | [optional] |
+| **social_media** | [**Array<GetAtsApplicationsPositiveResponseDataResultsInnerCandidateSocialMediaInner>**](GetAtsApplicationsPositiveResponseDataResultsInnerCandidateSocialMediaInner.md) | List of social media accounts of the candidate. | [optional] |
+| **location** | [**GetAtsCandidatesPositiveResponseDataResultsInnerLocation**](GetAtsCandidatesPositiveResponseDataResultsInnerLocation.md) | | [optional] |
+| **custom_fields** | **Hash<String, Object>** | A key-value store of fields not covered by the schema. [Read more](/custom-fields) | |
+| **integration_fields** | [**Array<GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner>**](GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner.md) | An array of selected passthrough integration fields. [Read more](/integration-fields) | |
+| **remote_url** | **String** | URL to the candidate profile in the source ATS system. When embedding this in your system, please consider that not for all ATS a dedicated candidate profile URL is available, so you might need to fall back to the application URL. | |
+| **remote_created_at** | **Time** | The date and time the object was created in the remote system. | |
+| **remote_updated_at** | **Time** | A timestamp retrieved from the remote system, describing when the resource was last updated. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+| **tags** | [**Array<GetAtsApplicationsPositiveResponseDataResultsInnerCandidateTagsInner>**](GetAtsApplicationsPositiveResponseDataResultsInnerCandidateTagsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsJobsJobIdApplicationsPositiveResponseDataCandidate.new(
+ id: null,
+ remote_id: null,
+ first_name: null,
+ last_name: null,
+ company: null,
+ title: null,
+ confidential: null,
+ source: null,
+ phone_numbers: null,
+ email_addresses: null,
+ social_media: null,
+ location: null,
+ custom_fields: null,
+ integration_fields: null,
+ remote_url: null,
+ remote_created_at: null,
+ remote_updated_at: null,
+ remote_data: null,
+ changed_at: null,
+ remote_deleted_at: null,
+ tags: null
+)
+```
+
diff --git a/docs/PostAtsJobsJobIdApplicationsRequestBody.md b/docs/PostAtsJobsJobIdApplicationsRequestBody.md
new file mode 100644
index 0000000..343f1b0
--- /dev/null
+++ b/docs/PostAtsJobsJobIdApplicationsRequestBody.md
@@ -0,0 +1,32 @@
+# Kombo::PostAtsJobsJobIdApplicationsRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **stage_id** | **String** | Stage this candidate should be in. If left out, the default stage for this job will be used. You can obtain the possible `stage_id`s from the `get-jobs` endpoint. | [optional] |
+| **candidate** | [**PostAtsCandidatesRequestBodyCandidate**](PostAtsCandidatesRequestBodyCandidate.md) | | |
+| **attachments** | [**Array<PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment>**](PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment.md) | Array of the attachments you would like to upload. The first CV in the attachments will be treated as the resume of the candidate when the tool allows previewing a resume. | [optional] |
+| **source** | [**PostAtsCandidatesRequestBodySource**](PostAtsCandidatesRequestBodySource.md) | | [optional] |
+| **sourced_by** | [**PostAtsCandidatesRequestBodySourcedBy**](PostAtsCandidatesRequestBodySourcedBy.md) | | [optional] |
+| **gdpr_consent** | [**PostAtsCandidatesRequestBodyGdprConsent**](PostAtsCandidatesRequestBodyGdprConsent.md) | | [optional] |
+| **remote_fields** | [**PostAtsCandidatesRequestBodyRemoteFields**](PostAtsCandidatesRequestBodyRemoteFields.md) | | [optional] |
+| **screening_question_answers** | [**Array<PostAtsCandidatesRequestBodyScreeningQuestionAnswersInner>**](PostAtsCandidatesRequestBodyScreeningQuestionAnswersInner.md) | Array of answers to screening questions. Currently, not all question types are supported, and unsupported ones will not be submitted. The available questions for a job can be retrieved from the get jobs endpoint. The answers will be validated based on the format of the questions. Make sure to follow this schema to avoid errors. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostAtsJobsJobIdApplicationsRequestBody.new(
+ stage_id: null,
+ candidate: null,
+ attachments: null,
+ source: null,
+ sourced_by: null,
+ gdpr_consent: null,
+ remote_fields: null,
+ screening_question_answers: null
+)
+```
+
diff --git a/docs/PostConnectActivateIntegrationPositiveResponse.md b/docs/PostConnectActivateIntegrationPositiveResponse.md
new file mode 100644
index 0000000..dcd5f8f
--- /dev/null
+++ b/docs/PostConnectActivateIntegrationPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::PostConnectActivateIntegrationPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetConnectIntegrationByTokenTokenPositiveResponseData**](GetConnectIntegrationByTokenTokenPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostConnectActivateIntegrationPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/PostConnectActivateIntegrationRequestBody.md b/docs/PostConnectActivateIntegrationRequestBody.md
new file mode 100644
index 0000000..06a803c
--- /dev/null
+++ b/docs/PostConnectActivateIntegrationRequestBody.md
@@ -0,0 +1,18 @@
+# Kombo::PostConnectActivateIntegrationRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **token** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostConnectActivateIntegrationRequestBody.new(
+ token: null
+)
+```
+
diff --git a/docs/PostConnectCreateLinkPositiveResponse.md b/docs/PostConnectCreateLinkPositiveResponse.md
new file mode 100644
index 0000000..e7f4bea
--- /dev/null
+++ b/docs/PostConnectCreateLinkPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::PostConnectCreateLinkPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**PostIntegrationsIntegrationIdRelinkPositiveResponseData**](PostIntegrationsIntegrationIdRelinkPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostConnectCreateLinkPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/PostConnectCreateLinkRequestBody.md b/docs/PostConnectCreateLinkRequestBody.md
new file mode 100644
index 0000000..2d82140
--- /dev/null
+++ b/docs/PostConnectCreateLinkRequestBody.md
@@ -0,0 +1,38 @@
+# Kombo::PostConnectCreateLinkRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **end_user_email** | **String** | The email of the user this link is meant for. | |
+| **end_user_organization_name** | **String** | The name of the user's organization. | |
+| **end_user_origin_id** | **String** | The id the user/organization has in your own database. | [optional] |
+| **remote_environment** | **String** | If the tool you want to connect offers different environments, you can specify which one you want to connect to here. If you don't specify this, we'll assume you want to use the production environment. Note that this can only be used if you've also specified a tool through `integration_tool`. | [optional] |
+| **integration_category** | **String** | Category of the integration you want your customer to create. | [optional][default to 'HRIS'] |
+| **integration_tool** | **String** | Pre-define a tool this integration link can be used for. | [optional] |
+| **language** | **String** | Language of the connection flow UI. | [optional][default to 'en'] |
+| **scope_config_id** | **String** | Specify a scope config that should be used for this integration. This is an advanced feature, only use it if you know what you're doing! | [optional] |
+| **enable_filtering** | **Boolean** | Enable the [filtering feature](https://docs.kombo.dev/other/filtering) for the integration. HRIS only. | [optional][default to false] |
+| **enable_field_mapping** | **Boolean** | Enable the [field mapping feature](https://docs.kombo.dev/hris/features/setup-flow/introduction#field-mapping) for this integration. | [optional][default to false] |
+| **link_type** | **String** | The type of link you want to create. `EMBEDDED` is for the [embedded flow](../guides/connect/embedded-flow) using the Kombo Connect SDK (these links are valid for 1 hour) and `MAGIC_LINK` is for [magic links](../guides/connect/magic-links) which you send out manually to customers (there are valid for 1 year). This defaults to `EMBEDDED`, which is our recommended method of implementing the connection flow for a seamless user experience. | [optional][default to 'EMBEDDED'] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostConnectCreateLinkRequestBody.new(
+ end_user_email: null,
+ end_user_organization_name: null,
+ end_user_origin_id: null,
+ remote_environment: null,
+ integration_category: null,
+ integration_tool: null,
+ language: null,
+ scope_config_id: null,
+ enable_filtering: null,
+ enable_field_mapping: null,
+ link_type: null
+)
+```
+
diff --git a/docs/PostCustomDatevDownloadDocumentPositiveResponse.md b/docs/PostCustomDatevDownloadDocumentPositiveResponse.md
new file mode 100644
index 0000000..7b7d1d6
--- /dev/null
+++ b/docs/PostCustomDatevDownloadDocumentPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PostCustomDatevDownloadDocumentPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**PostCustomDatevDownloadDocumentPositiveResponseData**](PostCustomDatevDownloadDocumentPositiveResponseData.md) | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostCustomDatevDownloadDocumentPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PostCustomDatevDownloadDocumentPositiveResponseData.md b/docs/PostCustomDatevDownloadDocumentPositiveResponseData.md
new file mode 100644
index 0000000..53b6516
--- /dev/null
+++ b/docs/PostCustomDatevDownloadDocumentPositiveResponseData.md
@@ -0,0 +1,22 @@
+# Kombo::PostCustomDatevDownloadDocumentPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **data_url** | **String** | The URL to download the document from. | |
+| **file_name** | **String** | | |
+| **content_type** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostCustomDatevDownloadDocumentPositiveResponseData.new(
+ data_url: null,
+ file_name: null,
+ content_type: null
+)
+```
+
diff --git a/docs/PostCustomDatevDownloadDocumentRequestBody.md b/docs/PostCustomDatevDownloadDocumentRequestBody.md
new file mode 100644
index 0000000..4a25a69
--- /dev/null
+++ b/docs/PostCustomDatevDownloadDocumentRequestBody.md
@@ -0,0 +1,22 @@
+# Kombo::PostCustomDatevDownloadDocumentRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **accounting_month** | **Time** | The month to request the document for. | |
+| **document_type** | **String** | Brutto/Netto (LOBN) Lohnsteuerbescheinigung (german/english) (LSTB/LSTE) SV-Nachweis (SVNW) A1-Bescheinigung (ABEG) Antragsbestätigung A1-Bescheinigung (AANB) Buchungsbeleg (BUBE) Lohnjournal (german/english) (LOJO/LJOE) Lohnsteueranmeldung (LSTA) Beitragsnachweis (KBNW) Beitragsnachweis-Erläuterung (SBNW) Übersicht Zahlungen (ZAKF) DÜ Zahlungen (PRZA) Barauszahlungswerte (ZABR) Überzahlungen-Werte (ZAUW) Personalkostenübersicht (german/english) (LOPS/LOPE) Kostenstellenwerte (KOST) Kostenträgerwerte (KOTR) Lohnartenwerte einfach/erweitert (LOWE/LOPN) Lohnkonto (LKTO) Personalreport (LORE) Mitarbeiterstammdaten (PDAT) Pfändungswerte (PFAN) Darlehenswerte (DAWE) Wertguthaben je Arbeitnehmer (WEAN) | |
+| **employee_id** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostCustomDatevDownloadDocumentRequestBody.new(
+ accounting_month: null,
+ document_type: null,
+ employee_id: null
+)
+```
+
diff --git a/docs/PostCustomDatevEmployeesEmployeeIdDownloadDocumentPositiveResponse.md b/docs/PostCustomDatevEmployeesEmployeeIdDownloadDocumentPositiveResponse.md
new file mode 100644
index 0000000..6d7a562
--- /dev/null
+++ b/docs/PostCustomDatevEmployeesEmployeeIdDownloadDocumentPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PostCustomDatevEmployeesEmployeeIdDownloadDocumentPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**PostCustomDatevDownloadDocumentPositiveResponseData**](PostCustomDatevDownloadDocumentPositiveResponseData.md) | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostCustomDatevEmployeesEmployeeIdDownloadDocumentPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PostCustomDatevEmployeesEmployeeIdDownloadDocumentRequestBody.md b/docs/PostCustomDatevEmployeesEmployeeIdDownloadDocumentRequestBody.md
new file mode 100644
index 0000000..538da4d
--- /dev/null
+++ b/docs/PostCustomDatevEmployeesEmployeeIdDownloadDocumentRequestBody.md
@@ -0,0 +1,20 @@
+# Kombo::PostCustomDatevEmployeesEmployeeIdDownloadDocumentRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **accounting_month** | **Time** | The month to request the document for. | |
+| **document_type** | **String** | Brutto/Netto (LOBN) Lohnsteuerbescheinigung (german/english) (LSTB/LSTE) SV-Nachweis (SVNW) A1-Bescheinigung (ABEG) Antragsbestätigung A1-Bescheinigung (AANB) Buchungsbeleg (BUBE) Lohnjournal (german/english) (LOJO/LJOE) Lohnsteueranmeldung (LSTA) Beitragsnachweis (KBNW) Beitragsnachweis-Erläuterung (SBNW) Übersicht Zahlungen (ZAKF) DÜ Zahlungen (PRZA) Barauszahlungswerte (ZABR) Überzahlungen-Werte (ZAUW) Personalkostenübersicht (german/english) (LOPS/LOPE) Kostenstellenwerte (KOST) Kostenträgerwerte (KOTR) Lohnartenwerte einfach/erweitert (LOWE/LOPN) Lohnkonto (LKTO) Personalreport (LORE) Mitarbeiterstammdaten (PDAT) Pfändungswerte (PFAN) Darlehenswerte (DAWE) Wertguthaben je Arbeitnehmer (WEAN) | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostCustomDatevEmployeesEmployeeIdDownloadDocumentRequestBody.new(
+ accounting_month: null,
+ document_type: null
+)
+```
+
diff --git a/docs/PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponse.md b/docs/PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponse.md
new file mode 100644
index 0000000..a1f111a
--- /dev/null
+++ b/docs/PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponseData**](PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponseData.md) | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponseData.md b/docs/PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponseData.md
new file mode 100644
index 0000000..2e4fc75
--- /dev/null
+++ b/docs/PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponseData.md
@@ -0,0 +1,18 @@
+# Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **eau_id** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsPositiveResponseData.new(
+ eau_id: null
+)
+```
+
diff --git a/docs/PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBody.md b/docs/PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBody.md
new file mode 100644
index 0000000..f159da2
--- /dev/null
+++ b/docs/PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBody.md
@@ -0,0 +1,22 @@
+# Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **start_work_incapacity** | **String** | Date \"start_work_incapacity\" from the original eAU-Request. | |
+| **notification** | [**PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyNotification**](PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyNotification.md) | | [optional] |
+| **contact_person** | [**PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyContactPerson**](PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyContactPerson.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBody.new(
+ start_work_incapacity: null,
+ notification: null,
+ contact_person: null
+)
+```
+
diff --git a/docs/PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyContactPerson.md b/docs/PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyContactPerson.md
new file mode 100644
index 0000000..54cda43
--- /dev/null
+++ b/docs/PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyContactPerson.md
@@ -0,0 +1,36 @@
+# Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyContactPerson
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **gender** | **String** | | |
+| **name** | **String** | | |
+| **telephone** | **String** | | |
+| **fax** | **String** | | |
+| **email** | **String** | | |
+| **company_name** | **String** | | |
+| **postal_code** | **String** | | |
+| **city** | **String** | | |
+| **street** | **String** | | |
+| **house_number** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyContactPerson.new(
+ gender: null,
+ name: null,
+ telephone: null,
+ fax: null,
+ email: null,
+ company_name: null,
+ postal_code: null,
+ city: null,
+ street: null,
+ house_number: null
+)
+```
+
diff --git a/docs/PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyNotification.md b/docs/PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyNotification.md
new file mode 100644
index 0000000..b968126
--- /dev/null
+++ b/docs/PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyNotification.md
@@ -0,0 +1,18 @@
+# Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyNotification
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **email** | **String** | This is the email address that should be notified as soon as a feedback is received. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostCustomDatevEmployeesEmployeeIdEauRequestsRequestBodyNotification.new(
+ email: null
+)
+```
+
diff --git a/docs/PostCustomDatevPassthroughPositiveResponse.md b/docs/PostCustomDatevPassthroughPositiveResponse.md
new file mode 100644
index 0000000..99fb39a
--- /dev/null
+++ b/docs/PostCustomDatevPassthroughPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PostCustomDatevPassthroughPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | **Object** | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostCustomDatevPassthroughPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PostCustomDatevPassthroughRequestBody.md b/docs/PostCustomDatevPassthroughRequestBody.md
new file mode 100644
index 0000000..d5cc373
--- /dev/null
+++ b/docs/PostCustomDatevPassthroughRequestBody.md
@@ -0,0 +1,26 @@
+# Kombo::PostCustomDatevPassthroughRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **file_content** | **String** | | |
+| **accounting_month** | **Time** | YYYY-MM-DDTHH:mm:ss.sssZ | |
+| **target_system** | **String** | | |
+| **file_type** | **String** | | |
+| **file_name** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostCustomDatevPassthroughRequestBody.new(
+ file_content: null,
+ accounting_month: null,
+ target_system: null,
+ file_type: null,
+ file_name: null
+)
+```
+
diff --git a/docs/PostCustomDatevPushDataGeneralPositiveResponse.md b/docs/PostCustomDatevPushDataGeneralPositiveResponse.md
new file mode 100644
index 0000000..e1bd29c
--- /dev/null
+++ b/docs/PostCustomDatevPushDataGeneralPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PostCustomDatevPushDataGeneralPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**PostCustomDatevPushDataGeneralPositiveResponseData**](PostCustomDatevPushDataGeneralPositiveResponseData.md) | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostCustomDatevPushDataGeneralPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PostCustomDatevPushDataGeneralPositiveResponseData.md b/docs/PostCustomDatevPushDataGeneralPositiveResponseData.md
new file mode 100644
index 0000000..8bcb79f
--- /dev/null
+++ b/docs/PostCustomDatevPushDataGeneralPositiveResponseData.md
@@ -0,0 +1,18 @@
+# Kombo::PostCustomDatevPushDataGeneralPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **files** | [**Array<PostCustomDatevPushDataGeneralPositiveResponseDataFilesInner>**](PostCustomDatevPushDataGeneralPositiveResponseDataFilesInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostCustomDatevPushDataGeneralPositiveResponseData.new(
+ files: null
+)
+```
+
diff --git a/docs/PostCustomDatevPushDataGeneralPositiveResponseDataFilesInner.md b/docs/PostCustomDatevPushDataGeneralPositiveResponseDataFilesInner.md
new file mode 100644
index 0000000..862c37f
--- /dev/null
+++ b/docs/PostCustomDatevPushDataGeneralPositiveResponseDataFilesInner.md
@@ -0,0 +1,20 @@
+# Kombo::PostCustomDatevPushDataGeneralPositiveResponseDataFilesInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **name** | **String** | | |
+| **content** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostCustomDatevPushDataGeneralPositiveResponseDataFilesInner.new(
+ name: null,
+ content: null
+)
+```
+
diff --git a/docs/PostCustomDatevPushDataPayrollPositiveResponse.md b/docs/PostCustomDatevPushDataPayrollPositiveResponse.md
new file mode 100644
index 0000000..304c5d3
--- /dev/null
+++ b/docs/PostCustomDatevPushDataPayrollPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PostCustomDatevPushDataPayrollPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**PostCustomDatevPushDataGeneralPositiveResponseData**](PostCustomDatevPushDataGeneralPositiveResponseData.md) | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostCustomDatevPushDataPayrollPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PostCustomDatevPushDataPayrollRequestBody.md b/docs/PostCustomDatevPushDataPayrollRequestBody.md
new file mode 100644
index 0000000..ec150df
--- /dev/null
+++ b/docs/PostCustomDatevPushDataPayrollRequestBody.md
@@ -0,0 +1,18 @@
+# Kombo::PostCustomDatevPushDataPayrollRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **payroll_month** | **Time** | Specify the month for which the payroll data should be submitted. The date must be specified as the first day of a month (e.g. 2022-12-01). | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostCustomDatevPushDataPayrollRequestBody.new(
+ payroll_month: null
+)
+```
+
diff --git a/docs/PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsPositiveResponse.md b/docs/PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsPositiveResponse.md
new file mode 100644
index 0000000..e932bf2
--- /dev/null
+++ b/docs/PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | **Object** | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsRequestBody.md b/docs/PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsRequestBody.md
new file mode 100644
index 0000000..da44d70
--- /dev/null
+++ b/docs/PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsRequestBody.md
@@ -0,0 +1,24 @@
+# Kombo::PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **supplement_code** | **String** | The ID code of the supplement that you want to add to Silae. | |
+| **effective_date** | **Time** | Date from which the submitted supplement should be active. | |
+| **element_amount** | **Float** | The amount of the supplement if it requires a number. | [optional] |
+| **element_string** | **String** | The string of the supplement if it requires a string. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostCustomSilaeEmployeesEmployeeIdPayrollSupplementsRequestBody.new(
+ supplement_code: null,
+ effective_date: null,
+ element_amount: null,
+ element_string: null
+)
+```
+
diff --git a/docs/PostForceSyncPositiveResponse.md b/docs/PostForceSyncPositiveResponse.md
new file mode 100644
index 0000000..19a249c
--- /dev/null
+++ b/docs/PostForceSyncPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::PostForceSyncPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**PostForceSyncPositiveResponseData**](PostForceSyncPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostForceSyncPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/PostForceSyncPositiveResponseData.md b/docs/PostForceSyncPositiveResponseData.md
new file mode 100644
index 0000000..a09c79c
--- /dev/null
+++ b/docs/PostForceSyncPositiveResponseData.md
@@ -0,0 +1,22 @@
+# Kombo::PostForceSyncPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **already_queued** | **Boolean** | We only allow 1 concurrent sync to be running or queued. | |
+| **sync_id** | **String** | ID of the newly-created or already-queued-or-running sync. | |
+| **type** | **String** | The type of the triggered sync. May differ from request, if the integration does not support delta syncs or if another sync is already running. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostForceSyncPositiveResponseData.new(
+ already_queued: null,
+ sync_id: null,
+ type: null
+)
+```
+
diff --git a/docs/PostForceSyncRequestBody.md b/docs/PostForceSyncRequestBody.md
new file mode 100644
index 0000000..184e147
--- /dev/null
+++ b/docs/PostForceSyncRequestBody.md
@@ -0,0 +1,18 @@
+# Kombo::PostForceSyncRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **type** | **String** | The type of the triggered sync. | [optional][default to 'FULL'] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostForceSyncRequestBody.new(
+ type: null
+)
+```
+
diff --git a/docs/PostHrisAbsencesPositiveResponse.md b/docs/PostHrisAbsencesPositiveResponse.md
new file mode 100644
index 0000000..c42c325
--- /dev/null
+++ b/docs/PostHrisAbsencesPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PostHrisAbsencesPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**PostHrisAbsencesPositiveResponseData**](PostHrisAbsencesPositiveResponseData.md) | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisAbsencesPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PostHrisAbsencesPositiveResponseData.md b/docs/PostHrisAbsencesPositiveResponseData.md
new file mode 100644
index 0000000..9548744
--- /dev/null
+++ b/docs/PostHrisAbsencesPositiveResponseData.md
@@ -0,0 +1,52 @@
+# Kombo::PostHrisAbsencesPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **employee_id** | **String** | The Kombo ID of the employee to which the absence belongs to. The ID can be used to retrieve the employee from the `get employees` endpoint. | |
+| **approver_id** | **String** | **(⚠️ Deprecated - We won't increase coverage for this feature)** The Kombo ID of the employee who is responsible for approving this absence. | |
+| **start_date** | [**Null**](Null.md) | The date this absence starts in the `yyyy-MM-dd` format. | |
+| **end_date** | [**Null**](Null.md) | The date this absence ends in the `yyyy-MM-dd` format. | |
+| **start_half_day** | **Boolean** | `true` if the absence starts in the middle of the day, `false` if not, and `null` if the absence type doesn't support half-day absences. For multi-day absences, this only applies to the first day of the absence. | |
+| **end_half_day** | **Boolean** | `true` if the absence ends in the middle of the day, `false` if not, and `null` if the absence type doesn't support half-day absences. For multi-day absences, this only applies to the last day of the absence. | |
+| **start_time** | [**Null**](Null.md) | The time at which this absence starts. Follows the format `HH:mm:ss` (e.g., `14:45:15`). | |
+| **end_time** | [**Null**](Null.md) | The time at which this absence ends. Follows the format `HH:mm:ss` (e.g., `14:45:15`). | |
+| **amount** | **Float** | The amount of time this absence takes. | |
+| **unit** | **String** | The unit of time for this absence. Can be `HOURS` or `DAYS`. | |
+| **status** | [**GetHrisAbsencesPositiveResponseDataResultsInnerStatus**](GetHrisAbsencesPositiveResponseDataResultsInnerStatus.md) | | [optional] |
+| **employee_note** | **String** | A note the employee has added to this absence. | |
+| **type_id** | **String** | The Kombo absence type ID of this absence. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisAbsencesPositiveResponseData.new(
+ id: null,
+ remote_id: null,
+ employee_id: null,
+ approver_id: null,
+ start_date: null,
+ end_date: null,
+ start_half_day: null,
+ end_half_day: null,
+ start_time: null,
+ end_time: null,
+ amount: null,
+ unit: null,
+ status: null,
+ employee_note: null,
+ type_id: null,
+ changed_at: null,
+ remote_deleted_at: null,
+ remote_data: null
+)
+```
+
diff --git a/docs/PostHrisAbsencesRequestBody.md b/docs/PostHrisAbsencesRequestBody.md
new file mode 100644
index 0000000..ec08a07
--- /dev/null
+++ b/docs/PostHrisAbsencesRequestBody.md
@@ -0,0 +1,42 @@
+# Kombo::PostHrisAbsencesRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **employee_id** | **String** | The ID of the employee in Kombo or their ID in the remote system by prefixing it with `remote:` (e.g., `remote:12312`) | |
+| **absence_type_id** | **String** | The ID of the absence type in Kombo (not its `remote_id`). | |
+| **status** | **String** | The state that the absence should be created in. Some tools may approve absences automatically if they were created for an absence type that does not require approval. | [optional][default to 'REQUESTED'] |
+| **start_date** | **Time** | The date that the absence starts. This is a plain date (i.e., `yyyy-MM-dd`), with all time information discarded. | |
+| **end_date** | **Time** | When the absence ends.The date that the absence ends. This is a plain date (i.e., `yyyy-MM-dd`), with all time information discarded. | |
+| **start_half_day** | **Boolean** | `true` if the absence should start in the middle of the day. | [optional][default to false] |
+| **end_half_day** | **Boolean** | `true` if the absence should end in the middle of the day. | [optional][default to false] |
+| **amount** | **Float** | The amount of time of the absence. Specifying this also requires specifying `unit`. This is supported by very few tools. | [optional] |
+| **unit** | **String** | The time unit of the `amount` value. Specifying this also requires specifying `amount`. | [optional] |
+| **employee_note** | **String** | A note describing the reason for this absence. | |
+| **start_time** | **String** | The time of when the absence begins. Follows the format `HH:mm` or `HH:mm:ss` (e.g., `14:45:15`). If `start_time` is specified, `end_time` has to be specified as well. | [optional] |
+| **end_time** | **String** | The time of when the absence ends. Follows the format `HH:mm` or `HH:mm:ss` (e.g., `14:45:15`). If `end_time` is specified, `start_time` has to be specified as well. | [optional] |
+| **remote_fields** | [**PostHrisAbsencesRequestBodyRemoteFields**](PostHrisAbsencesRequestBodyRemoteFields.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisAbsencesRequestBody.new(
+ employee_id: null,
+ absence_type_id: null,
+ status: null,
+ start_date: null,
+ end_date: null,
+ start_half_day: null,
+ end_half_day: null,
+ amount: null,
+ unit: null,
+ employee_note: null,
+ start_time: null,
+ end_time: null,
+ remote_fields: null
+)
+```
+
diff --git a/docs/PostHrisAbsencesRequestBodyRemoteFields.md b/docs/PostHrisAbsencesRequestBodyRemoteFields.md
new file mode 100644
index 0000000..a22fe98
--- /dev/null
+++ b/docs/PostHrisAbsencesRequestBodyRemoteFields.md
@@ -0,0 +1,18 @@
+# Kombo::PostHrisAbsencesRequestBodyRemoteFields
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **adpworkforcenow** | [**PostHrisAbsencesRequestBodyRemoteFieldsAdpworkforcenow**](PostHrisAbsencesRequestBodyRemoteFieldsAdpworkforcenow.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisAbsencesRequestBodyRemoteFields.new(
+ adpworkforcenow: null
+)
+```
+
diff --git a/docs/PostHrisAbsencesRequestBodyRemoteFieldsAdpworkforcenow.md b/docs/PostHrisAbsencesRequestBodyRemoteFieldsAdpworkforcenow.md
new file mode 100644
index 0000000..2920459
--- /dev/null
+++ b/docs/PostHrisAbsencesRequestBodyRemoteFieldsAdpworkforcenow.md
@@ -0,0 +1,20 @@
+# Kombo::PostHrisAbsencesRequestBodyRemoteFieldsAdpworkforcenow
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **employment_id** | **String** | [Required] The employment ID of the employee that the absence will be added to. | [optional] |
+| **paid_leave** | **Boolean** | Whether the absence is paid or not. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisAbsencesRequestBodyRemoteFieldsAdpworkforcenow.new(
+ employment_id: null,
+ paid_leave: null
+)
+```
+
diff --git a/docs/PostHrisEmployeeSkillAssignmentsPositiveResponse.md b/docs/PostHrisEmployeeSkillAssignmentsPositiveResponse.md
new file mode 100644
index 0000000..e4675ec
--- /dev/null
+++ b/docs/PostHrisEmployeeSkillAssignmentsPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::PostHrisEmployeeSkillAssignmentsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner**](GetHrisEmployeeSkillAssignmentsPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeeSkillAssignmentsPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/PostHrisEmployeeSkillAssignmentsRequestBody.md b/docs/PostHrisEmployeeSkillAssignmentsRequestBody.md
new file mode 100644
index 0000000..9c8f0c2
--- /dev/null
+++ b/docs/PostHrisEmployeeSkillAssignmentsRequestBody.md
@@ -0,0 +1,22 @@
+# Kombo::PostHrisEmployeeSkillAssignmentsRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **employee_id** | **String** | The ID of the employee | |
+| **skill_id** | **String** | The ID of the skill | |
+| **current_level** | **String** | The current skill level of the employee | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeeSkillAssignmentsRequestBody.new(
+ employee_id: null,
+ skill_id: null,
+ current_level: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesEmployeeIdDocumentsPositiveResponse.md b/docs/PostHrisEmployeesEmployeeIdDocumentsPositiveResponse.md
new file mode 100644
index 0000000..6f47db2
--- /dev/null
+++ b/docs/PostHrisEmployeesEmployeeIdDocumentsPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PostHrisEmployeesEmployeeIdDocumentsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | **Object** | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesEmployeeIdDocumentsPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesEmployeeIdDocumentsRequestBody.md b/docs/PostHrisEmployeesEmployeeIdDocumentsRequestBody.md
new file mode 100644
index 0000000..a9bfa3c
--- /dev/null
+++ b/docs/PostHrisEmployeesEmployeeIdDocumentsRequestBody.md
@@ -0,0 +1,20 @@
+# Kombo::PostHrisEmployeesEmployeeIdDocumentsRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **category_id** | **String** | | |
+| **document** | [**PostPassthroughToolApiRequestBodyMultipartFormDataInnerValueOneOf**](PostPassthroughToolApiRequestBodyMultipartFormDataInnerValueOneOf.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesEmployeeIdDocumentsRequestBody.new(
+ category_id: null,
+ document: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesFormPositiveResponse.md b/docs/PostHrisEmployeesFormPositiveResponse.md
new file mode 100644
index 0000000..799e6ec
--- /dev/null
+++ b/docs/PostHrisEmployeesFormPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PostHrisEmployeesFormPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**PostHrisEmployeesFormPositiveResponseData**](PostHrisEmployeesFormPositiveResponseData.md) | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesFormPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesFormPositiveResponseData.md b/docs/PostHrisEmployeesFormPositiveResponseData.md
new file mode 100644
index 0000000..dd9d43c
--- /dev/null
+++ b/docs/PostHrisEmployeesFormPositiveResponseData.md
@@ -0,0 +1,22 @@
+# Kombo::PostHrisEmployeesFormPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The Kombo id of the created employee. If null, we only created a pre-hire which shows up in the next sync after a successful onboarding. | |
+| **remote_id** | **String** | The raw ID of the created employee in the remote system. This is only populated when `id` is set (i.e., when a full employee was created). For pre-hires, use `prehire_id` instead. | |
+| **prehire_id** | **String** | The temporary ID returned by the remote system when creating a pre-hire. This ID may change or become invalid when the pre-hire becomes a full employee. Only populated when `id` is null. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesFormPositiveResponseData.new(
+ id: null,
+ remote_id: null,
+ prehire_id: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesFormRequestBody.md b/docs/PostHrisEmployeesFormRequestBody.md
new file mode 100644
index 0000000..cb13dee
--- /dev/null
+++ b/docs/PostHrisEmployeesFormRequestBody.md
@@ -0,0 +1,18 @@
+# Kombo::PostHrisEmployeesFormRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **properties** | [**Hash<String, Schema4>**](Schema4.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesFormRequestBody.new(
+ properties: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesPositiveResponse.md b/docs/PostHrisEmployeesPositiveResponse.md
new file mode 100644
index 0000000..67e4700
--- /dev/null
+++ b/docs/PostHrisEmployeesPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PostHrisEmployeesPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**PostHrisEmployeesPositiveResponseData**](PostHrisEmployeesPositiveResponseData.md) | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesPositiveResponseData.md b/docs/PostHrisEmployeesPositiveResponseData.md
new file mode 100644
index 0000000..5b6ef5f
--- /dev/null
+++ b/docs/PostHrisEmployeesPositiveResponseData.md
@@ -0,0 +1,84 @@
+# Kombo::PostHrisEmployeesPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **employee_number** | **String** | The employee’s organization-internal employee number. | |
+| **first_name** | **String** | The employee’s first name. | |
+| **last_name** | **String** | The employee’s last name. | |
+| **nationality** | **String** | The employee’s nationality. | |
+| **display_full_name** | **String** | The employee’s full name, including any middle names. Not all HR systems provide an explicit display name, so we recommend falling back to `first_name` and `last_name`. | |
+| **job_title** | **String** | The employee’s job title. | |
+| **work_email** | **String** | The employee’s work email address. If the email address is invalid, we will set this to `null`. | [optional] |
+| **personal_email** | **String** | The employee’s personal email address. If the email address is invalid, we will set this to `null`. | [optional] |
+| **mobile_phone_number** | **String** | The employee’s mobile phone number. | |
+| **ssn** | **String** | The employee’s social security number | |
+| **tax_id** | **String** | The employee’s tax ID. | |
+| **gender** | [**GetHrisEmployeesPositiveResponseDataResultsInnerGender**](GetHrisEmployeesPositiveResponseDataResultsInnerGender.md) | | [optional] |
+| **ethnicity** | [**GetHrisEmployeesPositiveResponseDataResultsInnerEthnicity**](GetHrisEmployeesPositiveResponseDataResultsInnerEthnicity.md) | | [optional] |
+| **marital_status** | [**GetHrisEmployeesPositiveResponseDataResultsInnerMaritalStatus**](GetHrisEmployeesPositiveResponseDataResultsInnerMaritalStatus.md) | | [optional] |
+| **employment_status** | [**GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentStatus**](GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentStatus.md) | | [optional] |
+| **employment_type** | [**GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentType**](GetHrisEmployeesPositiveResponseDataResultsInnerEmploymentType.md) | | [optional] |
+| **weekly_hours** | **Float** | The employee’s weekly working hours. | |
+| **avatar** | **String** | URL to the employee’s avatar. This is either the raw URL from the HR system (in cases where it can be requested without short-lived authentication) _or_ a URL to a temporarily cached version of the file hosted by Kombo. Kombo will delete the cached file after its deletion in the source system. | |
+| **work_location_id** | **String** | The Kombo ID of the employee’s work location. The ID can be used to retrieve the work location from the `get work locations` endpoint. | |
+| **legal_entity_id** | **String** | The Kombo ID of the employee’s legal entity. The ID can be used to retrieve the legal entity from the `get legal entities` endpoint. | |
+| **manager_id** | **String** | The Kombo ID of the employee’s manager. The ID can be used to retrieve the manager from the `get employees` endpoint. | |
+| **home_address** | [**GetHrisEmployeesPositiveResponseDataResultsInnerHomeAddress**](GetHrisEmployeesPositiveResponseDataResultsInnerHomeAddress.md) | | [optional] |
+| **bank_accounts** | [**Array<GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInner>**](GetHrisEmployeesPositiveResponseDataResultsInnerBankAccountsInner.md) | The employee’s bank accounts. | [optional] |
+| **date_of_birth** | **Time** | The employee’s date of birth. | |
+| **start_date** | **Time** | The date the employee started working for the organization. | |
+| **termination_date** | **Time** | The date when the employment ends. Can be in the past or future. | |
+| **remote_created_at** | **Time** | The date and time the object was created in the remote system. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_deleted_at** | **Time** | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear. | |
+| **custom_fields** | **Hash<String, Object>** | A key-value store of fields not covered by the schema. [Read more](/custom-fields) | |
+| **integration_fields** | [**Array<GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner>**](GetHrisEmployeesPositiveResponseDataResultsInnerIntegrationFieldsInner.md) | An array of selected passthrough integration fields. [Read more](/integration-fields) | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesPositiveResponseData.new(
+ id: null,
+ remote_id: null,
+ employee_number: null,
+ first_name: null,
+ last_name: null,
+ nationality: null,
+ display_full_name: null,
+ job_title: null,
+ work_email: null,
+ personal_email: null,
+ mobile_phone_number: null,
+ ssn: null,
+ tax_id: null,
+ gender: null,
+ ethnicity: null,
+ marital_status: null,
+ employment_status: null,
+ employment_type: null,
+ weekly_hours: null,
+ avatar: null,
+ work_location_id: null,
+ legal_entity_id: null,
+ manager_id: null,
+ home_address: null,
+ bank_accounts: null,
+ date_of_birth: null,
+ start_date: null,
+ termination_date: null,
+ remote_created_at: null,
+ changed_at: null,
+ remote_deleted_at: null,
+ custom_fields: null,
+ integration_fields: null,
+ remote_data: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesRequestBody.md b/docs/PostHrisEmployeesRequestBody.md
new file mode 100644
index 0000000..382e1ad
--- /dev/null
+++ b/docs/PostHrisEmployeesRequestBody.md
@@ -0,0 +1,44 @@
+# Kombo::PostHrisEmployeesRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **first_name** | **String** | The first name of the employee. | |
+| **last_name** | **String** | The last name of the employee. | |
+| **work_email** | **String** | The email address of the employee to be created. For tools where the personal email address is required, we map this input to the personal email. This is documented on a per-tool basis. | [optional] |
+| **gender** | **String** | The gender of the employee. | [optional] |
+| **job_title** | **String** | The title of the position this person is working in. | [optional] |
+| **home_address** | [**PostHrisEmployeesRequestBodyHomeAddress**](PostHrisEmployeesRequestBodyHomeAddress.md) | | [optional] |
+| **date_of_birth** | **Time** | The employee's date of birth. This is a plain date (i.e., `yyyy-MM-dd`), all time information is discarded. | [optional] |
+| **mobile_phone_number** | **String** | | [optional] |
+| **home_phone_number** | **String** | | [optional] |
+| **nationality** | **String** | The uppercase two-letter ISO country (e.g., `DE`). For systems that use codes in formats other than `ISO 3166-1 alpha-2`, Kombo transforms the ISO Codes to the appropriate value. | [optional] |
+| **start_date** | **Time** | Start date of the employee. Also considered to be the hire date. This is a plain date (i.e., `yyyy-MM-dd`), all time information is discarded. | [optional] |
+| **legal_entity_id** | **String** | The Kombo ID of the legal entity the employee should be in. This field is required for certain integrations. | [optional] |
+| **location_id** | **String** | The Kombo ID of the location the employee should be in. This field is required for certain integrations. | [optional] |
+| **remote_fields** | [**PostHrisEmployeesRequestBodyRemoteFields**](PostHrisEmployeesRequestBodyRemoteFields.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesRequestBody.new(
+ first_name: null,
+ last_name: null,
+ work_email: null,
+ gender: null,
+ job_title: null,
+ home_address: null,
+ date_of_birth: null,
+ mobile_phone_number: null,
+ home_phone_number: null,
+ nationality: null,
+ start_date: null,
+ legal_entity_id: null,
+ location_id: null,
+ remote_fields: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesRequestBodyHomeAddress.md b/docs/PostHrisEmployeesRequestBodyHomeAddress.md
new file mode 100644
index 0000000..68073e6
--- /dev/null
+++ b/docs/PostHrisEmployeesRequestBodyHomeAddress.md
@@ -0,0 +1,28 @@
+# Kombo::PostHrisEmployeesRequestBodyHomeAddress
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **street_1** | **String** | | [optional] |
+| **street_2** | **String** | | [optional] |
+| **city** | **String** | | [optional] |
+| **state** | **String** | | [optional] |
+| **zip_code** | **String** | | [optional] |
+| **country** | **String** | The uppercase two-letter ISO country (e.g., `DE`). For systems that use codes in formats other than `ISO 3166-1 alpha-2`, Kombo transforms the ISO Codes to the appropriate value. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesRequestBodyHomeAddress.new(
+ street_1: null,
+ street_2: null,
+ city: null,
+ state: null,
+ zip_code: null,
+ country: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesRequestBodyRemoteFields.md b/docs/PostHrisEmployeesRequestBodyRemoteFields.md
new file mode 100644
index 0000000..02a6ce1
--- /dev/null
+++ b/docs/PostHrisEmployeesRequestBodyRemoteFields.md
@@ -0,0 +1,46 @@
+# Kombo::PostHrisEmployeesRequestBodyRemoteFields
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **humaans** | [**PostHrisEmployeesRequestBodyRemoteFieldsHumaans**](PostHrisEmployeesRequestBodyRemoteFieldsHumaans.md) | | [optional] |
+| **hibob** | [**PostHrisEmployeesRequestBodyRemoteFieldsHibob**](PostHrisEmployeesRequestBodyRemoteFieldsHibob.md) | | [optional] |
+| **sympa** | [**PostHrisEmployeesRequestBodyRemoteFieldsSympa**](PostHrisEmployeesRequestBodyRemoteFieldsSympa.md) | | [optional] |
+| **silae** | [**PostHrisEmployeesRequestBodyRemoteFieldsSilae**](PostHrisEmployeesRequestBodyRemoteFieldsSilae.md) | | [optional] |
+| **peoplehr** | [**PostHrisEmployeesRequestBodyRemoteFieldsPeoplehr**](PostHrisEmployeesRequestBodyRemoteFieldsPeoplehr.md) | | [optional] |
+| **zohopeople** | [**PostHrisEmployeesRequestBodyRemoteFieldsZohopeople**](PostHrisEmployeesRequestBodyRemoteFieldsZohopeople.md) | | [optional] |
+| **workday** | [**PostHrisEmployeesRequestBodyRemoteFieldsWorkday**](PostHrisEmployeesRequestBodyRemoteFieldsWorkday.md) | | [optional] |
+| **deel** | [**PostHrisEmployeesRequestBodyRemoteFieldsDeel**](PostHrisEmployeesRequestBodyRemoteFieldsDeel.md) | | [optional] |
+| **bamboohr** | [**PostHrisEmployeesRequestBodyRemoteFieldsBamboohr**](PostHrisEmployeesRequestBodyRemoteFieldsBamboohr.md) | | [optional] |
+| **oracle** | [**PostHrisEmployeesRequestBodyRemoteFieldsOracle**](PostHrisEmployeesRequestBodyRemoteFieldsOracle.md) | | [optional] |
+| **adpworkforcenow** | [**PostHrisEmployeesRequestBodyRemoteFieldsAdpworkforcenow**](PostHrisEmployeesRequestBodyRemoteFieldsAdpworkforcenow.md) | | [optional] |
+| **azuread** | [**PostHrisEmployeesRequestBodyRemoteFieldsAzuread**](PostHrisEmployeesRequestBodyRemoteFieldsAzuread.md) | | [optional] |
+| **paycor** | [**PostHrisEmployeesRequestBodyRemoteFieldsPaycor**](PostHrisEmployeesRequestBodyRemoteFieldsPaycor.md) | | [optional] |
+| **planday** | [**PostHrisEmployeesRequestBodyRemoteFieldsPlanday**](PostHrisEmployeesRequestBodyRemoteFieldsPlanday.md) | | [optional] |
+| **dayforce** | [**PostHrisEmployeesRequestBodyRemoteFieldsDayforce**](PostHrisEmployeesRequestBodyRemoteFieldsDayforce.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesRequestBodyRemoteFields.new(
+ humaans: null,
+ hibob: null,
+ sympa: null,
+ silae: null,
+ peoplehr: null,
+ zohopeople: null,
+ workday: null,
+ deel: null,
+ bamboohr: null,
+ oracle: null,
+ adpworkforcenow: null,
+ azuread: null,
+ paycor: null,
+ planday: null,
+ dayforce: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesRequestBodyRemoteFieldsAdpworkforcenow.md b/docs/PostHrisEmployeesRequestBodyRemoteFieldsAdpworkforcenow.md
new file mode 100644
index 0000000..496edc5
--- /dev/null
+++ b/docs/PostHrisEmployeesRequestBodyRemoteFieldsAdpworkforcenow.md
@@ -0,0 +1,26 @@
+# Kombo::PostHrisEmployeesRequestBodyRemoteFieldsAdpworkforcenow
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **onboarding_template_code** | **String** | The onboarding template to be used for the created employee. View the possible values in the Kombo dashboard by clicking on the ADP Workforce Now integration and viewing the field report in the settings tab. | |
+| **applicant_payroll_profile_group_code** | **String** | The payroll group code (a.k.a. \"Company Code\") to be used for the created employee. View the possible values in the Kombo dashboard by clicking on the ADP Workforce Now integration and viewing the field report in the settings tab. | |
+| **manager_position_id** | **String** | The position ID of the employment of the manager. Available as mappable custom field on employments. Not the employment ID or employment remote ID! | [optional] |
+| **home_organization_unit_code** | **String** | The remote id of a Kombo group with type \"DEPARTMENT\" that will be used as the employee's home department. | [optional] |
+| **personal_email** | **String** | The personal email for the employee. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesRequestBodyRemoteFieldsAdpworkforcenow.new(
+ onboarding_template_code: null,
+ applicant_payroll_profile_group_code: null,
+ manager_position_id: null,
+ home_organization_unit_code: null,
+ personal_email: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesRequestBodyRemoteFieldsAzuread.md b/docs/PostHrisEmployeesRequestBodyRemoteFieldsAzuread.md
new file mode 100644
index 0000000..f00dbea
--- /dev/null
+++ b/docs/PostHrisEmployeesRequestBodyRemoteFieldsAzuread.md
@@ -0,0 +1,18 @@
+# Kombo::PostHrisEmployeesRequestBodyRemoteFieldsAzuread
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **password** | **String** | Azure / entra requires a password to be set when creating a user. The user has to use the password on his initial sign-in and will be forced to change the password once signed in. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesRequestBodyRemoteFieldsAzuread.new(
+ password: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesRequestBodyRemoteFieldsBamboohr.md b/docs/PostHrisEmployeesRequestBodyRemoteFieldsBamboohr.md
new file mode 100644
index 0000000..d3eade6
--- /dev/null
+++ b/docs/PostHrisEmployeesRequestBodyRemoteFieldsBamboohr.md
@@ -0,0 +1,18 @@
+# Kombo::PostHrisEmployeesRequestBodyRemoteFieldsBamboohr
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **employee** | **Hash<String, Object>** | Fields that we will pass through to BambooHR `Employee` object. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesRequestBodyRemoteFieldsBamboohr.new(
+ employee: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesRequestBodyRemoteFieldsDayforce.md b/docs/PostHrisEmployeesRequestBodyRemoteFieldsDayforce.md
new file mode 100644
index 0000000..4410e2a
--- /dev/null
+++ b/docs/PostHrisEmployeesRequestBodyRemoteFieldsDayforce.md
@@ -0,0 +1,36 @@
+# Kombo::PostHrisEmployeesRequestBodyRemoteFieldsDayforce
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **social_security_number** | **String** | The social security number of the employee | |
+| **pay_type** | **String** | The pay type of the employee. This needs to be a valid XRefCode from Dayforce. | |
+| **pay_class** | **String** | The pay class of the employee. This needs to be a valid XRefCode from Dayforce. | |
+| **pay_group** | **String** | The pay group of the employee. This needs to be a valid XRefCode from Dayforce. | |
+| **base_rate** | **Float** | The base rate of the employee. | |
+| **role** | **String** | The role of the employee. This needs to be a valid XRefCode from Dayforce. | |
+| **location** | **String** | The location of the employee. This needs to be a valid XRefCode from Dayforce. | |
+| **department** | **String** | The department of the employee. This needs to be a valid XRefCode from Dayforce. | |
+| **job** | **String** | The job of the employee. This needs to be a valid XRefCode from Dayforce. | |
+| **country** | **String** | The country of the employee. This needs to be a valid XRefCode from Dayforce. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesRequestBodyRemoteFieldsDayforce.new(
+ social_security_number: null,
+ pay_type: null,
+ pay_class: null,
+ pay_group: null,
+ base_rate: null,
+ role: null,
+ location: null,
+ department: null,
+ job: null,
+ country: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesRequestBodyRemoteFieldsDeel.md b/docs/PostHrisEmployeesRequestBodyRemoteFieldsDeel.md
new file mode 100644
index 0000000..6027d42
--- /dev/null
+++ b/docs/PostHrisEmployeesRequestBodyRemoteFieldsDeel.md
@@ -0,0 +1,20 @@
+# Kombo::PostHrisEmployeesRequestBodyRemoteFieldsDeel
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **candidate_id** | **String** | The unique identifier of the candidate in the ATS. | |
+| **candidate_link** | **String** | The link to the candidate's profile in the ATS. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesRequestBodyRemoteFieldsDeel.new(
+ candidate_id: null,
+ candidate_link: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesRequestBodyRemoteFieldsHibob.md b/docs/PostHrisEmployeesRequestBodyRemoteFieldsHibob.md
new file mode 100644
index 0000000..8598ede
--- /dev/null
+++ b/docs/PostHrisEmployeesRequestBodyRemoteFieldsHibob.md
@@ -0,0 +1,18 @@
+# Kombo::PostHrisEmployeesRequestBodyRemoteFieldsHibob
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **employee** | **Hash<String, Object>** | Fields that we will pass through to Hibob's `Person` endpoint. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesRequestBodyRemoteFieldsHibob.new(
+ employee: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesRequestBodyRemoteFieldsHumaans.md b/docs/PostHrisEmployeesRequestBodyRemoteFieldsHumaans.md
new file mode 100644
index 0000000..5b38f60
--- /dev/null
+++ b/docs/PostHrisEmployeesRequestBodyRemoteFieldsHumaans.md
@@ -0,0 +1,18 @@
+# Kombo::PostHrisEmployeesRequestBodyRemoteFieldsHumaans
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **employee** | **Hash<String, Object>** | Fields that we will pass through to Humaans `Employee` object. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesRequestBodyRemoteFieldsHumaans.new(
+ employee: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesRequestBodyRemoteFieldsOracle.md b/docs/PostHrisEmployeesRequestBodyRemoteFieldsOracle.md
new file mode 100644
index 0000000..31d382b
--- /dev/null
+++ b/docs/PostHrisEmployeesRequestBodyRemoteFieldsOracle.md
@@ -0,0 +1,20 @@
+# Kombo::PostHrisEmployeesRequestBodyRemoteFieldsOracle
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **group_id** | **String** | The business unit group ID for which the employee should be created. It can be found as a group with the type `null`. | |
+| **department_id** | **String** | The department group ID for which the employee should be created. It can be found as a group with the type `DEPARTMENT`. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesRequestBodyRemoteFieldsOracle.new(
+ group_id: null,
+ department_id: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesRequestBodyRemoteFieldsPaycor.md b/docs/PostHrisEmployeesRequestBodyRemoteFieldsPaycor.md
new file mode 100644
index 0000000..3ee4e94
--- /dev/null
+++ b/docs/PostHrisEmployeesRequestBodyRemoteFieldsPaycor.md
@@ -0,0 +1,20 @@
+# Kombo::PostHrisEmployeesRequestBodyRemoteFieldsPaycor
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **paygroup_remote_id** | **String** | [REQUIRED] Remote ID of a Kombo Group with type \"COST_CENTER\" | |
+| **department_remote_id** | **String** | [REQUIRED] Remote ID of a Kombo Group with type \"DEPARTMENT\" | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesRequestBodyRemoteFieldsPaycor.new(
+ paygroup_remote_id: null,
+ department_remote_id: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesRequestBodyRemoteFieldsPeoplehr.md b/docs/PostHrisEmployeesRequestBodyRemoteFieldsPeoplehr.md
new file mode 100644
index 0000000..c1556d0
--- /dev/null
+++ b/docs/PostHrisEmployeesRequestBodyRemoteFieldsPeoplehr.md
@@ -0,0 +1,20 @@
+# Kombo::PostHrisEmployeesRequestBodyRemoteFieldsPeoplehr
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **job_role_effective_date** | **Time** | The effective date of the employee's current role. This is a plain date (i.e., `yyyy-MM-dd`), all time information is discarded. | [optional] |
+| **department** | **String** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesRequestBodyRemoteFieldsPeoplehr.new(
+ job_role_effective_date: null,
+ department: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesRequestBodyRemoteFieldsPlanday.md b/docs/PostHrisEmployeesRequestBodyRemoteFieldsPlanday.md
new file mode 100644
index 0000000..46b068b
--- /dev/null
+++ b/docs/PostHrisEmployeesRequestBodyRemoteFieldsPlanday.md
@@ -0,0 +1,18 @@
+# Kombo::PostHrisEmployeesRequestBodyRemoteFieldsPlanday
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **department_remote_id** | **String** | The remote ID of the department for which the employee should be assigned to. It can be found as a group with the type `DEPARTMENT`. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesRequestBodyRemoteFieldsPlanday.new(
+ department_remote_id: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesRequestBodyRemoteFieldsSilae.md b/docs/PostHrisEmployeesRequestBodyRemoteFieldsSilae.md
new file mode 100644
index 0000000..5abcb9d
--- /dev/null
+++ b/docs/PostHrisEmployeesRequestBodyRemoteFieldsSilae.md
@@ -0,0 +1,22 @@
+# Kombo::PostHrisEmployeesRequestBodyRemoteFieldsSilae
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **siret** | **String** | The siret of the company. The siret can be found as the remote ID of a Silae legal entity. | [optional] |
+| **employee** | **Hash<String, Object>** | Fields that we will passed through to Silae `Employee` object. | [optional] |
+| **employment** | **Hash<String, Object>** | Fields that we will passed through to Silae `Employment` object. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesRequestBodyRemoteFieldsSilae.new(
+ siret: null,
+ employee: null,
+ employment: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesRequestBodyRemoteFieldsSympa.md b/docs/PostHrisEmployeesRequestBodyRemoteFieldsSympa.md
new file mode 100644
index 0000000..c2888a4
--- /dev/null
+++ b/docs/PostHrisEmployeesRequestBodyRemoteFieldsSympa.md
@@ -0,0 +1,18 @@
+# Kombo::PostHrisEmployeesRequestBodyRemoteFieldsSympa
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **generic_new_hire** | **Hash<String, Object>** | Fields that we will pass through to Sympa's `Employee` object. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesRequestBodyRemoteFieldsSympa.new(
+ generic_new_hire: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesRequestBodyRemoteFieldsWorkday.md b/docs/PostHrisEmployeesRequestBodyRemoteFieldsWorkday.md
new file mode 100644
index 0000000..74513ec
--- /dev/null
+++ b/docs/PostHrisEmployeesRequestBodyRemoteFieldsWorkday.md
@@ -0,0 +1,24 @@
+# Kombo::PostHrisEmployeesRequestBodyRemoteFieldsWorkday
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **job_requisition_id** | **String** | Workday job requisition ID of that the employee should be hired for. Provide either this or `position_id`. | [optional] |
+| **position_id** | **String** | Workday position ID of that the employee should be hired to. Provide either this or `job_requisition_id`. | [optional] |
+| **ssn** | **String** | The social security number of the employee. | [optional] |
+| **bank_account** | [**PostHrisEmployeesRequestBodyRemoteFieldsWorkdayBankAccount**](PostHrisEmployeesRequestBodyRemoteFieldsWorkdayBankAccount.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesRequestBodyRemoteFieldsWorkday.new(
+ job_requisition_id: null,
+ position_id: null,
+ ssn: null,
+ bank_account: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesRequestBodyRemoteFieldsWorkdayBankAccount.md b/docs/PostHrisEmployeesRequestBodyRemoteFieldsWorkdayBankAccount.md
new file mode 100644
index 0000000..71f5f08
--- /dev/null
+++ b/docs/PostHrisEmployeesRequestBodyRemoteFieldsWorkdayBankAccount.md
@@ -0,0 +1,22 @@
+# Kombo::PostHrisEmployeesRequestBodyRemoteFieldsWorkdayBankAccount
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **iban** | **String** | | |
+| **bic** | **String** | | |
+| **bank_name** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesRequestBodyRemoteFieldsWorkdayBankAccount.new(
+ iban: null,
+ bic: null,
+ bank_name: null
+)
+```
+
diff --git a/docs/PostHrisEmployeesRequestBodyRemoteFieldsZohopeople.md b/docs/PostHrisEmployeesRequestBodyRemoteFieldsZohopeople.md
new file mode 100644
index 0000000..2af79d4
--- /dev/null
+++ b/docs/PostHrisEmployeesRequestBodyRemoteFieldsZohopeople.md
@@ -0,0 +1,18 @@
+# Kombo::PostHrisEmployeesRequestBodyRemoteFieldsZohopeople
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **employee_id** | **String** | A personnel code used to identify individuals working for the business. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisEmployeesRequestBodyRemoteFieldsZohopeople.new(
+ employee_id: null
+)
+```
+
diff --git a/docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponse.md b/docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponse.md
new file mode 100644
index 0000000..731984a
--- /dev/null
+++ b/docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**PostHrisProvisioningGroupsGroupIdDiffPositiveResponseData**](PostHrisProvisioningGroupsGroupIdDiffPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseData.md b/docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseData.md
new file mode 100644
index 0000000..7dc0827
--- /dev/null
+++ b/docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseData.md
@@ -0,0 +1,18 @@
+# Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **users** | [**PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsers**](PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsers.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseData.new(
+ users: null
+)
+```
+
diff --git a/docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsers.md b/docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsers.md
new file mode 100644
index 0000000..cfcb6fb
--- /dev/null
+++ b/docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsers.md
@@ -0,0 +1,22 @@
+# Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsers
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **to_provision** | [**Array<PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInner>**](PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInner.md) | The users we've found in the HR systems who match the provisioning filters but haven't been provisioned in your system yet. | |
+| **to_deprovision** | [**Array<PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToDeprovisionInner>**](PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToDeprovisionInner.md) | The users who've been provisioned in your system but couldn't be found in the HR system or don't match the provisioning filters. | |
+| **already_provisioned** | [**Array<PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersAlreadyProvisionedInner>**](PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersAlreadyProvisionedInner.md) | The users who are in the HR system and match the provisioning filters but have already been provisioned in your system. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsers.new(
+ to_provision: null,
+ to_deprovision: null,
+ already_provisioned: null
+)
+```
+
diff --git a/docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersAlreadyProvisionedInner.md b/docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersAlreadyProvisionedInner.md
new file mode 100644
index 0000000..08f250b
--- /dev/null
+++ b/docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersAlreadyProvisionedInner.md
@@ -0,0 +1,22 @@
+# Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersAlreadyProvisionedInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **origin_id** | **String** | _Your_ ID for this user (that you submitted through `origin_id`). | |
+| **email** | **String** | The email address of the user. | |
+| **employee** | [**PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployee**](PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployee.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersAlreadyProvisionedInner.new(
+ origin_id: null,
+ email: null,
+ employee: null
+)
+```
+
diff --git a/docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToDeprovisionInner.md b/docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToDeprovisionInner.md
new file mode 100644
index 0000000..9b5437f
--- /dev/null
+++ b/docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToDeprovisionInner.md
@@ -0,0 +1,20 @@
+# Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToDeprovisionInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **origin_id** | **String** | _Your_ ID for this user (that you submitted through `origin_id`). | |
+| **email** | **String** | The email address of the user. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToDeprovisionInner.new(
+ origin_id: null,
+ email: null
+)
+```
+
diff --git a/docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInner.md b/docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInner.md
new file mode 100644
index 0000000..7c1bf0c
--- /dev/null
+++ b/docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInner.md
@@ -0,0 +1,20 @@
+# Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **email** | **String** | The email address of the user. | |
+| **employee** | [**PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployee**](PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployee.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInner.new(
+ email: null,
+ employee: null
+)
+```
+
diff --git a/docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployee.md b/docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployee.md
new file mode 100644
index 0000000..277a396
--- /dev/null
+++ b/docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployee.md
@@ -0,0 +1,32 @@
+# Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployee
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | | [optional] |
+| **remote_id** | **String** | | [optional] |
+| **first_name** | **String** | | [optional] |
+| **last_name** | **String** | | [optional] |
+| **groups** | [**Array<PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployeeGroupsInner>**](PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployeeGroupsInner.md) | | [optional] |
+| **avatar** | **String** | | [optional] |
+| **work_location_id** | **String** | | [optional] |
+| **legal_entity_id** | **String** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployee.new(
+ id: null,
+ remote_id: null,
+ first_name: null,
+ last_name: null,
+ groups: null,
+ avatar: null,
+ work_location_id: null,
+ legal_entity_id: null
+)
+```
+
diff --git a/docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployeeGroupsInner.md b/docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployeeGroupsInner.md
new file mode 100644
index 0000000..5f9effa
--- /dev/null
+++ b/docs/PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployeeGroupsInner.md
@@ -0,0 +1,22 @@
+# Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployeeGroupsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | | |
+| **remote_id** | **String** | | |
+| **name** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisProvisioningGroupsGroupIdDiffPositiveResponseDataUsersToProvisionInnerEmployeeGroupsInner.new(
+ id: null,
+ remote_id: null,
+ name: null
+)
+```
+
diff --git a/docs/PostHrisProvisioningGroupsGroupIdDiffRequestBody.md b/docs/PostHrisProvisioningGroupsGroupIdDiffRequestBody.md
new file mode 100644
index 0000000..9c4e9cd
--- /dev/null
+++ b/docs/PostHrisProvisioningGroupsGroupIdDiffRequestBody.md
@@ -0,0 +1,20 @@
+# Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **provisioned_users** | [**Array<PostHrisProvisioningGroupsGroupIdDiffRequestBodyProvisionedUsersInner>**](PostHrisProvisioningGroupsGroupIdDiffRequestBodyProvisionedUsersInner.md) | Array of the already provisioned users in your system. | |
+| **options** | [**PostHrisProvisioningGroupsGroupIdDiffRequestBodyOptions**](PostHrisProvisioningGroupsGroupIdDiffRequestBodyOptions.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBody.new(
+ provisioned_users: null,
+ options: null
+)
+```
+
diff --git a/docs/PostHrisProvisioningGroupsGroupIdDiffRequestBodyOptions.md b/docs/PostHrisProvisioningGroupsGroupIdDiffRequestBodyOptions.md
new file mode 100644
index 0000000..b89914e
--- /dev/null
+++ b/docs/PostHrisProvisioningGroupsGroupIdDiffRequestBodyOptions.md
@@ -0,0 +1,18 @@
+# Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBodyOptions
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **employee_fields** | **Array<String>** | The employee fields relevant for your use case. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBodyOptions.new(
+ employee_fields: null
+)
+```
+
diff --git a/docs/PostHrisProvisioningGroupsGroupIdDiffRequestBodyProvisionedUsersInner.md b/docs/PostHrisProvisioningGroupsGroupIdDiffRequestBodyProvisionedUsersInner.md
new file mode 100644
index 0000000..f502e8a
--- /dev/null
+++ b/docs/PostHrisProvisioningGroupsGroupIdDiffRequestBodyProvisionedUsersInner.md
@@ -0,0 +1,20 @@
+# Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBodyProvisionedUsersInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **origin_id** | **String** | _Your_ ID for this user (_not_ an ID retrieved from Kombo). | |
+| **email** | **String** | This user's email address. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisProvisioningGroupsGroupIdDiffRequestBodyProvisionedUsersInner.new(
+ origin_id: null,
+ email: null
+)
+```
+
diff --git a/docs/PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponse.md b/docs/PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponse.md
new file mode 100644
index 0000000..76ec65b
--- /dev/null
+++ b/docs/PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponseData**](PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponseData.md b/docs/PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponseData.md
new file mode 100644
index 0000000..2994425
--- /dev/null
+++ b/docs/PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponseData.md
@@ -0,0 +1,20 @@
+# Kombo::PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **url** | **String** | The setup link URL to pass to the Kombo Connect SDK. | |
+| **expires_at** | **Time** | When this link expires. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisProvisioningGroupsGroupIdSetupLinksPositiveResponseData.new(
+ url: null,
+ expires_at: null
+)
+```
+
diff --git a/docs/PostHrisProvisioningGroupsGroupIdSetupLinksRequestBody.md b/docs/PostHrisProvisioningGroupsGroupIdSetupLinksRequestBody.md
new file mode 100644
index 0000000..a2ecda4
--- /dev/null
+++ b/docs/PostHrisProvisioningGroupsGroupIdSetupLinksRequestBody.md
@@ -0,0 +1,18 @@
+# Kombo::PostHrisProvisioningGroupsGroupIdSetupLinksRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **language** | **String** | Language of the UI. Please note that the provisioning setup UI is _not_ translated yet but we're working on it and setting this already will make sure the translations appear once released. | [optional][default to 'en'] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisProvisioningGroupsGroupIdSetupLinksRequestBody.new(
+ language: null
+)
+```
+
diff --git a/docs/PostHrisSkillsPositiveResponse.md b/docs/PostHrisSkillsPositiveResponse.md
new file mode 100644
index 0000000..89b6493
--- /dev/null
+++ b/docs/PostHrisSkillsPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::PostHrisSkillsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetHrisSkillsPositiveResponseDataResultsInner**](GetHrisSkillsPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisSkillsPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/PostHrisSkillsRequestBody.md b/docs/PostHrisSkillsRequestBody.md
new file mode 100644
index 0000000..4b4fed6
--- /dev/null
+++ b/docs/PostHrisSkillsRequestBody.md
@@ -0,0 +1,20 @@
+# Kombo::PostHrisSkillsRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **name** | **String** | The name of the skill | |
+| **levels** | **Array<String>** | List of available skill levels (e.g., [\"Beginner\", \"Intermediate\", \"Advanced\"]) | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostHrisSkillsRequestBody.new(
+ name: null,
+ levels: null
+)
+```
+
diff --git a/docs/PostIntegrationsIntegrationIdRelinkPositiveResponse.md b/docs/PostIntegrationsIntegrationIdRelinkPositiveResponse.md
new file mode 100644
index 0000000..5c6ace9
--- /dev/null
+++ b/docs/PostIntegrationsIntegrationIdRelinkPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::PostIntegrationsIntegrationIdRelinkPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**PostIntegrationsIntegrationIdRelinkPositiveResponseData**](PostIntegrationsIntegrationIdRelinkPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostIntegrationsIntegrationIdRelinkPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/PostIntegrationsIntegrationIdRelinkPositiveResponseData.md b/docs/PostIntegrationsIntegrationIdRelinkPositiveResponseData.md
new file mode 100644
index 0000000..c4254af
--- /dev/null
+++ b/docs/PostIntegrationsIntegrationIdRelinkPositiveResponseData.md
@@ -0,0 +1,18 @@
+# Kombo::PostIntegrationsIntegrationIdRelinkPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **link** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostIntegrationsIntegrationIdRelinkPositiveResponseData.new(
+ link: null
+)
+```
+
diff --git a/docs/PostIntegrationsIntegrationIdRelinkRequestBody.md b/docs/PostIntegrationsIntegrationIdRelinkRequestBody.md
new file mode 100644
index 0000000..ef78a4d
--- /dev/null
+++ b/docs/PostIntegrationsIntegrationIdRelinkRequestBody.md
@@ -0,0 +1,22 @@
+# Kombo::PostIntegrationsIntegrationIdRelinkRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **language** | **String** | Language of the connection flow UI. | [optional][default to 'en'] |
+| **scope_config_id** | **String** | Specify a scope config which the integration will start using once the reconnection flow has been completed. This can be useful if you want to update the permissions of an integration, but only want the change to take effect once the user has updated their API credentials to prevent sync issues. | [optional] |
+| **link_type** | **String** | The type of link you want to create. `EMBEDDED` is for the [embedded flow](../guides/connect/embedded-flow) using the Kombo Connect SDK (these links are valid for 1 hour) and `MAGIC_LINK` is for [magic links](../guides/connect/magic-links) which you send out manually to customers (there are valid for 1 year). This defaults to `EMBEDDED`, which is our recommended method of implementing the connection flow for a seamless user experience. | [optional][default to 'EMBEDDED'] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostIntegrationsIntegrationIdRelinkRequestBody.new(
+ language: null,
+ scope_config_id: null,
+ link_type: null
+)
+```
+
diff --git a/docs/PostLmsContentPositiveResponse.md b/docs/PostLmsContentPositiveResponse.md
new file mode 100644
index 0000000..86c95fe
--- /dev/null
+++ b/docs/PostLmsContentPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::PostLmsContentPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**PostLmsContentPositiveResponseData**](PostLmsContentPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostLmsContentPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/PostLmsContentPositiveResponseData.md b/docs/PostLmsContentPositiveResponseData.md
new file mode 100644
index 0000000..e34c60b
--- /dev/null
+++ b/docs/PostLmsContentPositiveResponseData.md
@@ -0,0 +1,36 @@
+# Kombo::PostLmsContentPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | |
+| **remote_id** | **String** | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | |
+| **title** | **String** | The title of the content item. | |
+| **description** | **String** | A description of the content item. | |
+| **url** | **String** | URL where the content can be accessed. | |
+| **type** | **String** | The type of learning content. | |
+| **course_id** | **String** | The ID of the course this content belongs to. | |
+| **remote_created_at** | **Time** | The date and time the object was created in the remote system. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostLmsContentPositiveResponseData.new(
+ id: null,
+ remote_id: null,
+ title: null,
+ description: null,
+ url: null,
+ type: null,
+ course_id: null,
+ remote_created_at: null,
+ changed_at: null,
+ remote_data: null
+)
+```
+
diff --git a/docs/PostLmsContentRequestBody.md b/docs/PostLmsContentRequestBody.md
new file mode 100644
index 0000000..bdf55e5
--- /dev/null
+++ b/docs/PostLmsContentRequestBody.md
@@ -0,0 +1,26 @@
+# Kombo::PostLmsContentRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **course_id** | **String** | The ID of the course to add this content to | |
+| **title** | **String** | The title of the content item | |
+| **description** | **String** | A description of the content item | [optional] |
+| **url** | **String** | URL where the content can be accessed | [optional] |
+| **type** | **String** | The type of learning content | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostLmsContentRequestBody.new(
+ course_id: null,
+ title: null,
+ description: null,
+ url: null,
+ type: null
+)
+```
+
diff --git a/docs/PostLmsCoursesPositiveResponse.md b/docs/PostLmsCoursesPositiveResponse.md
new file mode 100644
index 0000000..430a38f
--- /dev/null
+++ b/docs/PostLmsCoursesPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::PostLmsCoursesPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetLmsCoursesPositiveResponseDataResultsInner**](GetLmsCoursesPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostLmsCoursesPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/PostLmsCoursesRequestBody.md b/docs/PostLmsCoursesRequestBody.md
new file mode 100644
index 0000000..6921387
--- /dev/null
+++ b/docs/PostLmsCoursesRequestBody.md
@@ -0,0 +1,24 @@
+# Kombo::PostLmsCoursesRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **title** | **String** | The title of the course | |
+| **description** | **String** | A description of the course | [optional] |
+| **url** | **String** | URL where the course can be accessed | [optional] |
+| **skills** | [**Array<PostLmsCoursesRequestBodySkillsInner>**](PostLmsCoursesRequestBodySkillsInner.md) | Skills that will be taught in this course | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostLmsCoursesRequestBody.new(
+ title: null,
+ description: null,
+ url: null,
+ skills: null
+)
+```
+
diff --git a/docs/PostLmsCoursesRequestBodySkillsInner.md b/docs/PostLmsCoursesRequestBodySkillsInner.md
new file mode 100644
index 0000000..1347c47
--- /dev/null
+++ b/docs/PostLmsCoursesRequestBodySkillsInner.md
@@ -0,0 +1,20 @@
+# Kombo::PostLmsCoursesRequestBodySkillsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **name** | **String** | The name of the skill | |
+| **skill_level** | **String** | The proficiency level of the skill | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostLmsCoursesRequestBodySkillsInner.new(
+ name: null,
+ skill_level: null
+)
+```
+
diff --git a/docs/PostLmsProgressPositiveResponse.md b/docs/PostLmsProgressPositiveResponse.md
new file mode 100644
index 0000000..df64f22
--- /dev/null
+++ b/docs/PostLmsProgressPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::PostLmsProgressPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**PostLmsProgressPositiveResponseData**](PostLmsProgressPositiveResponseData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostLmsProgressPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/PostLmsProgressPositiveResponseData.md b/docs/PostLmsProgressPositiveResponseData.md
new file mode 100644
index 0000000..0cd4472
--- /dev/null
+++ b/docs/PostLmsProgressPositiveResponseData.md
@@ -0,0 +1,40 @@
+# Kombo::PostLmsProgressPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | The Kombo ID of the progress entry. | |
+| **remote_id** | **String** | The remote ID of the progress entry. | |
+| **course_id** | **String** | The ID of the course this progress relates to. | |
+| **user_id** | **String** | The ID of the user this progress belongs to. | |
+| **status** | **String** | Current status of the learner in this course. | |
+| **enrollment_date** | **String** | Date when the user enrolled in the course. | |
+| **completion_date** | **String** | Date when the user completed the course. | |
+| **score** | **Float** | Numerical score achieved by the user (e.g., 85.5). | |
+| **duration** | **Float** | Total time spent on the course in minutes. | |
+| **comments** | **String** | Additional comments or notes about the progress. | |
+| **changed_at** | **Time** | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. | |
+| **remote_data** | **Hash<String, Object>** | Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set. Remote data always has the endpoint path that we got the data from as the top level key. For example, it could look like: `{ \"/companies\": { ... }}` This is not available on all plans. Reach out to Kombo if you need it. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostLmsProgressPositiveResponseData.new(
+ id: null,
+ remote_id: null,
+ course_id: null,
+ user_id: null,
+ status: null,
+ enrollment_date: null,
+ completion_date: null,
+ score: null,
+ duration: null,
+ comments: null,
+ changed_at: null,
+ remote_data: null
+)
+```
+
diff --git a/docs/PostLmsProgressRequestBody.md b/docs/PostLmsProgressRequestBody.md
new file mode 100644
index 0000000..449216d
--- /dev/null
+++ b/docs/PostLmsProgressRequestBody.md
@@ -0,0 +1,34 @@
+# Kombo::PostLmsProgressRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **course_id** | **String** | The ID of the course. | |
+| **user_id** | **String** | The ID of the user. | |
+| **progress_id** | **String** | Unique identifier for this progress entry. | |
+| **status** | **String** | Current status of the learner in this course. | |
+| **enrollment_date** | **String** | Date when the user enrolled in the course. | |
+| **completion_date** | **String** | Date when the user completed the course. | [optional] |
+| **score** | **Float** | Numerical score achieved (e.g., 85.5). | [optional] |
+| **duration** | **Float** | Total time spent on the course in minutes. | [optional] |
+| **comments** | **String** | Additional comments or notes. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostLmsProgressRequestBody.new(
+ course_id: null,
+ user_id: null,
+ progress_id: null,
+ status: null,
+ enrollment_date: null,
+ completion_date: null,
+ score: null,
+ duration: null,
+ comments: null
+)
+```
+
diff --git a/docs/PostPassthroughToolApiPositiveResponse.md b/docs/PostPassthroughToolApiPositiveResponse.md
new file mode 100644
index 0000000..e3690c4
--- /dev/null
+++ b/docs/PostPassthroughToolApiPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PostPassthroughToolApiPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**PostPassthroughToolApiPositiveResponseData**](PostPassthroughToolApiPositiveResponseData.md) | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostPassthroughToolApiPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PostPassthroughToolApiPositiveResponseData.md b/docs/PostPassthroughToolApiPositiveResponseData.md
new file mode 100644
index 0000000..09beda2
--- /dev/null
+++ b/docs/PostPassthroughToolApiPositiveResponseData.md
@@ -0,0 +1,24 @@
+# Kombo::PostPassthroughToolApiPositiveResponseData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **url** | **String** | The full URL of the request that we automatically assemble for you based on the specified `api`, the specified `path`, and the integration's auth credentials. You can use this to debug path-related issues (e.g., the API returning 404 errors). | |
+| **status** | **Integer** | The HTTP status code returned from the remote system. | |
+| **headers** | [**Hash<String, PostPassthroughToolApiPositiveResponseDataHeadersValue>**](PostPassthroughToolApiPositiveResponseDataHeadersValue.md) | The HTTP headers returned from the remote system. | |
+| **data** | **Object** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostPassthroughToolApiPositiveResponseData.new(
+ url: null,
+ status: null,
+ headers: null,
+ data: null
+)
+```
+
diff --git a/docs/PostPassthroughToolApiPositiveResponseDataHeadersValue.md b/docs/PostPassthroughToolApiPositiveResponseDataHeadersValue.md
new file mode 100644
index 0000000..0901b70
--- /dev/null
+++ b/docs/PostPassthroughToolApiPositiveResponseDataHeadersValue.md
@@ -0,0 +1,49 @@
+# Kombo::PostPassthroughToolApiPositiveResponseDataHeadersValue
+
+## Class instance methods
+
+### `openapi_one_of`
+
+Returns the list of classes defined in oneOf.
+
+#### Example
+
+```ruby
+require 'kombo_client'
+
+Kombo::PostPassthroughToolApiPositiveResponseDataHeadersValue.openapi_one_of
+# =>
+# [
+# :'Array',
+# :'String'
+# ]
+```
+
+### build
+
+Find the appropriate object from the `openapi_one_of` list and casts the data into it.
+
+#### Example
+
+```ruby
+require 'kombo_client'
+
+Kombo::PostPassthroughToolApiPositiveResponseDataHeadersValue.build(data)
+# => #:0x00007fdd4aab02a0>
+
+Kombo::PostPassthroughToolApiPositiveResponseDataHeadersValue.build(data_that_doesnt_match)
+# => nil
+```
+
+#### Parameters
+
+| Name | Type | Description |
+| ---- | ---- | ----------- |
+| **data** | **Mixed** | data to be matched against the list of oneOf items |
+
+#### Return type
+
+- `Array`
+- `String`
+- `nil` (if no type matches)
+
diff --git a/docs/PostPassthroughToolApiPositiveResponseWarningsInner.md b/docs/PostPassthroughToolApiPositiveResponseWarningsInner.md
new file mode 100644
index 0000000..b5dee36
--- /dev/null
+++ b/docs/PostPassthroughToolApiPositiveResponseWarningsInner.md
@@ -0,0 +1,18 @@
+# Kombo::PostPassthroughToolApiPositiveResponseWarningsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **message** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostPassthroughToolApiPositiveResponseWarningsInner.new(
+ message: null
+)
+```
+
diff --git a/docs/PostPassthroughToolApiRequestBody.md b/docs/PostPassthroughToolApiRequestBody.md
new file mode 100644
index 0000000..bafbcb3
--- /dev/null
+++ b/docs/PostPassthroughToolApiRequestBody.md
@@ -0,0 +1,32 @@
+# Kombo::PostPassthroughToolApiRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **method** | **String** | The HTTP method (e.g., `GET`) of the request. | |
+| **path** | **String** | The path of the endpoint you want to call. We automatically prepend the base URL of the API (all base URLs are documented in the endpoint description). | |
+| **headers** | **Hash<String, String>** | The headers to send with the request. Note that we automatically supply any authentication-related headers. | [optional] |
+| **params** | **Hash<String, String>** | The query parameters to send in addition to the ones in the `path`. | [optional] |
+| **data** | **Object** | | [optional] |
+| **response_as_base64** | **Boolean** | If set to `true`, the response will be returned as a base64-encoded string. This is useful for binary data (e.g., PDFs). | [optional] |
+| **multipart_form_data** | [**Array<PostPassthroughToolApiRequestBodyMultipartFormDataInner>**](PostPassthroughToolApiRequestBodyMultipartFormDataInner.md) | | [optional] |
+| **api_options** | **Hash<String, String>** | Custom options interpreted by the passthrough API adapter you've selected. These options are not documented right now as they're only for very advanced use cases. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostPassthroughToolApiRequestBody.new(
+ method: null,
+ path: null,
+ headers: null,
+ params: null,
+ data: null,
+ response_as_base64: null,
+ multipart_form_data: null,
+ api_options: null
+)
+```
+
diff --git a/docs/PostPassthroughToolApiRequestBodyMultipartFormDataInner.md b/docs/PostPassthroughToolApiRequestBodyMultipartFormDataInner.md
new file mode 100644
index 0000000..552f5c4
--- /dev/null
+++ b/docs/PostPassthroughToolApiRequestBodyMultipartFormDataInner.md
@@ -0,0 +1,20 @@
+# Kombo::PostPassthroughToolApiRequestBodyMultipartFormDataInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **name** | **String** | The key of the form data | |
+| **value** | [**PostPassthroughToolApiRequestBodyMultipartFormDataInnerValue**](PostPassthroughToolApiRequestBodyMultipartFormDataInnerValue.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostPassthroughToolApiRequestBodyMultipartFormDataInner.new(
+ name: null,
+ value: null
+)
+```
+
diff --git a/docs/PostPassthroughToolApiRequestBodyMultipartFormDataInnerValue.md b/docs/PostPassthroughToolApiRequestBodyMultipartFormDataInnerValue.md
new file mode 100644
index 0000000..77d531a
--- /dev/null
+++ b/docs/PostPassthroughToolApiRequestBodyMultipartFormDataInnerValue.md
@@ -0,0 +1,49 @@
+# Kombo::PostPassthroughToolApiRequestBodyMultipartFormDataInnerValue
+
+## Class instance methods
+
+### `openapi_one_of`
+
+Returns the list of classes defined in oneOf.
+
+#### Example
+
+```ruby
+require 'kombo_client'
+
+Kombo::PostPassthroughToolApiRequestBodyMultipartFormDataInnerValue.openapi_one_of
+# =>
+# [
+# :'PostPassthroughToolApiRequestBodyMultipartFormDataInnerValueOneOf',
+# :'String'
+# ]
+```
+
+### build
+
+Find the appropriate object from the `openapi_one_of` list and casts the data into it.
+
+#### Example
+
+```ruby
+require 'kombo_client'
+
+Kombo::PostPassthroughToolApiRequestBodyMultipartFormDataInnerValue.build(data)
+# => #
+
+Kombo::PostPassthroughToolApiRequestBodyMultipartFormDataInnerValue.build(data_that_doesnt_match)
+# => nil
+```
+
+#### Parameters
+
+| Name | Type | Description |
+| ---- | ---- | ----------- |
+| **data** | **Mixed** | data to be matched against the list of oneOf items |
+
+#### Return type
+
+- `PostPassthroughToolApiRequestBodyMultipartFormDataInnerValueOneOf`
+- `String`
+- `nil` (if no type matches)
+
diff --git a/docs/PostPassthroughToolApiRequestBodyMultipartFormDataInnerValueOneOf.md b/docs/PostPassthroughToolApiRequestBodyMultipartFormDataInnerValueOneOf.md
new file mode 100644
index 0000000..c03db68
--- /dev/null
+++ b/docs/PostPassthroughToolApiRequestBodyMultipartFormDataInnerValueOneOf.md
@@ -0,0 +1,24 @@
+# Kombo::PostPassthroughToolApiRequestBodyMultipartFormDataInnerValueOneOf
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **name** | **String** | File name of the file you want to upload. We recommend providing something human-readable with a valid file extension (like `Resume.pdf`), as this might be shown in your customer's system. | |
+| **content_type** | **String** | Content/MIME type of the file (e.g., `application/pdf`). If you provide `data`, this is required. If you provide `data_url`, this is optional and we'll attempt to use the `Content-Type` header of the response. **Note:** Please validate that the content type you provide is actually meaningful (and not something generic like [`application/octet-stream`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/MIME_types#applicationoctet-stream)). Especially when using object storage (like AWS S3), it's easy to accidentally discard the content types of user-provided files, so make sure to explicitly persist them when processing uploads from your users (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html#SysMetadata), [Google Cloud](https://cloud.google.com/storage/docs/metadata#content-type), and [Azure](https://learn.microsoft.com/en-us/rest/api/storageservices/put-blob#request-headers-all-blob-types)). | [optional] |
+| **data_url** | **String** | URL to the file you want to upload that can be accessed without authentication headers. We will download the content immediately when receiving the request, so the URL can be short-lived. If you're using an object storage provider (like AWS S3), we strongly recommend providing a signed URL for secure access (see guides for [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html), [Google Cloud](https://cloud.google.com/storage/docs/access-control/signed-urls), and [Azure](https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview)). **Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases. | [optional] |
+| **data** | **String** | Base64-encoded contents of the file you want to upload. **Note:** You must provide either this or `data_url`. We recommend `data_url` over `data` for most cases. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PostPassthroughToolApiRequestBodyMultipartFormDataInnerValueOneOf.new(
+ name: null,
+ content_type: null,
+ data_url: null,
+ data: null
+)
+```
+
diff --git a/docs/PutAssessmentOrdersAssessmentOrderIdResultPositiveResponse.md b/docs/PutAssessmentOrdersAssessmentOrderIdResultPositiveResponse.md
new file mode 100644
index 0000000..c5406b5
--- /dev/null
+++ b/docs/PutAssessmentOrdersAssessmentOrderIdResultPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PutAssessmentOrdersAssessmentOrderIdResultPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | **Object** | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutAssessmentOrdersAssessmentOrderIdResultPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBody.md b/docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBody.md
new file mode 100644
index 0000000..cb069d7
--- /dev/null
+++ b/docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBody.md
@@ -0,0 +1,32 @@
+# Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | Status of the assessment. **Please note the `status` can only be updated to a different value if its current value is `OPEN`.** | |
+| **result_url** | **String** | | |
+| **completed_at** | **Time** | YYYY-MM-DDTHH:mm:ss.sssZ **Please make sure this value is provided when the `status` is of the type `COMPLETED` or `CANCELLED`.** | [optional] |
+| **score** | **Float** | | [optional] |
+| **max_score** | **Float** | | [optional] |
+| **attributes** | [**Array<PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInner>**](PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInner.md) | An array of additional attributes that you would like to submit as a part of the assessment result. - If an ATS only supports writing text attributes, we will transform non `TEXT` attributes into formatted plain text values. | [optional] |
+| **attachments** | [**Array<PostPassthroughToolApiRequestBodyMultipartFormDataInnerValueOneOf>**](PostPassthroughToolApiRequestBodyMultipartFormDataInnerValueOneOf.md) | An array of attachments containing the assessment result. | [optional] |
+| **remote_fields** | [**PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFields**](PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFields.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBody.new(
+ status: null,
+ result_url: null,
+ completed_at: null,
+ score: null,
+ max_score: null,
+ attributes: null,
+ attachments: null,
+ remote_fields: null
+)
+```
+
diff --git a/docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInner.md b/docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInner.md
new file mode 100644
index 0000000..720ace1
--- /dev/null
+++ b/docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInner.md
@@ -0,0 +1,28 @@
+# Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **type** | **String** | | |
+| **label** | **String** | | |
+| **value** | **String** | | |
+| **id** | **String** | | |
+| **score** | [**PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1Score**](PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1Score.md) | | |
+| **status** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInner.new(
+ type: null,
+ label: null,
+ value: null,
+ id: null,
+ score: null,
+ status: null
+)
+```
+
diff --git a/docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf.md b/docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf.md
new file mode 100644
index 0000000..32ea46e
--- /dev/null
+++ b/docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf.md
@@ -0,0 +1,22 @@
+# Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **type** | **String** | | |
+| **label** | **String** | | |
+| **value** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf.new(
+ type: null,
+ label: null,
+ value: null
+)
+```
+
diff --git a/docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1.md b/docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1.md
new file mode 100644
index 0000000..d1f1734
--- /dev/null
+++ b/docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1.md
@@ -0,0 +1,26 @@
+# Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **type** | **String** | | |
+| **id** | **String** | | |
+| **label** | **String** | | |
+| **score** | [**PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1Score**](PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1Score.md) | | |
+| **status** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1.new(
+ type: null,
+ id: null,
+ label: null,
+ score: null,
+ status: null
+)
+```
+
diff --git a/docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1Score.md b/docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1Score.md
new file mode 100644
index 0000000..4d1b161
--- /dev/null
+++ b/docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1Score.md
@@ -0,0 +1,20 @@
+# Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1Score
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **value** | **Float** | | |
+| **max** | **Float** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyAttributesInnerAnyOf1Score.new(
+ value: null,
+ max: null
+)
+```
+
diff --git a/docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFields.md b/docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFields.md
new file mode 100644
index 0000000..490de82
--- /dev/null
+++ b/docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFields.md
@@ -0,0 +1,18 @@
+# Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFields
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **smartrecruiters** | [**PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFieldsSmartrecruiters**](PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFieldsSmartrecruiters.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFields.new(
+ smartrecruiters: null
+)
+```
+
diff --git a/docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFieldsSmartrecruiters.md b/docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFieldsSmartrecruiters.md
new file mode 100644
index 0000000..6f4d852
--- /dev/null
+++ b/docs/PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFieldsSmartrecruiters.md
@@ -0,0 +1,18 @@
+# Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFieldsSmartrecruiters
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **score_label** | **String** | Value that we will pass through to SmartRecruiters' `scoreLabel` field. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutAssessmentOrdersAssessmentOrderIdResultRequestBodyRemoteFieldsSmartrecruiters.new(
+ score_label: null
+)
+```
+
diff --git a/docs/PutAssessmentPackagesPositiveResponse.md b/docs/PutAssessmentPackagesPositiveResponse.md
new file mode 100644
index 0000000..2a48bcf
--- /dev/null
+++ b/docs/PutAssessmentPackagesPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PutAssessmentPackagesPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | **Object** | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutAssessmentPackagesPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PutAssessmentPackagesRequestBody.md b/docs/PutAssessmentPackagesRequestBody.md
new file mode 100644
index 0000000..17ba356
--- /dev/null
+++ b/docs/PutAssessmentPackagesRequestBody.md
@@ -0,0 +1,18 @@
+# Kombo::PutAssessmentPackagesRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **packages** | [**Array<PutAssessmentPackagesRequestBodyPackagesInner>**](PutAssessmentPackagesRequestBodyPackagesInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutAssessmentPackagesRequestBody.new(
+ packages: null
+)
+```
+
diff --git a/docs/PutAssessmentPackagesRequestBodyPackagesInner.md b/docs/PutAssessmentPackagesRequestBodyPackagesInner.md
new file mode 100644
index 0000000..c8e5a29
--- /dev/null
+++ b/docs/PutAssessmentPackagesRequestBodyPackagesInner.md
@@ -0,0 +1,24 @@
+# Kombo::PutAssessmentPackagesRequestBodyPackagesInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | A unique identifier for the assessment package. | |
+| **type** | **String** | | |
+| **name** | **String** | The name of the assessment package. | |
+| **description** | **String** | Description about the package. Some ATSs will display this in their UI. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutAssessmentPackagesRequestBodyPackagesInner.new(
+ id: null,
+ type: null,
+ name: null,
+ description: null
+)
+```
+
diff --git a/docs/PutAtsApplicationsApplicationIdStagePositiveResponse.md b/docs/PutAtsApplicationsApplicationIdStagePositiveResponse.md
new file mode 100644
index 0000000..f478c3d
--- /dev/null
+++ b/docs/PutAtsApplicationsApplicationIdStagePositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PutAtsApplicationsApplicationIdStagePositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | **Object** | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutAtsApplicationsApplicationIdStagePositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PutAtsApplicationsApplicationIdStageRequestBody.md b/docs/PutAtsApplicationsApplicationIdStageRequestBody.md
new file mode 100644
index 0000000..ba73c96
--- /dev/null
+++ b/docs/PutAtsApplicationsApplicationIdStageRequestBody.md
@@ -0,0 +1,20 @@
+# Kombo::PutAtsApplicationsApplicationIdStageRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **stage_id** | **String** | The Kombo ID of the stage to move the application to. This stage must be allowed for the job that the application is connected to. Get available stages from the `stages` property on the job, not from the deprecated application-stages endpoint. | |
+| **remote_fields** | [**PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields**](PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutAtsApplicationsApplicationIdStageRequestBody.new(
+ stage_id: null,
+ remote_fields: null
+)
+```
+
diff --git a/docs/PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields.md b/docs/PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields.md
new file mode 100644
index 0000000..672c866
--- /dev/null
+++ b/docs/PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields.md
@@ -0,0 +1,20 @@
+# Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **greenhouse** | [**PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse**](PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse.md) | | [optional] |
+| **workable** | [**PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable**](PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFields.new(
+ greenhouse: null,
+ workable: null
+)
+```
+
diff --git a/docs/PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse.md b/docs/PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse.md
new file mode 100644
index 0000000..2e22cd2
--- /dev/null
+++ b/docs/PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse.md
@@ -0,0 +1,18 @@
+# Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **post_headers** | [**PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhousePostHeaders**](PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhousePostHeaders.md) | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhouse.new(
+ post_headers: null
+)
+```
+
diff --git a/docs/PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhousePostHeaders.md b/docs/PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhousePostHeaders.md
new file mode 100644
index 0000000..e45698c
--- /dev/null
+++ b/docs/PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhousePostHeaders.md
@@ -0,0 +1,18 @@
+# Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhousePostHeaders
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **on_behalf_of** | **String** | ID of the the user that will show up as having performed the action in Greenhouse. We already pass a value by default, but you can use this to override it. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsGreenhousePostHeaders.new(
+ on_behalf_of: null
+)
+```
+
diff --git a/docs/PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable.md b/docs/PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable.md
new file mode 100644
index 0000000..21b9cb1
--- /dev/null
+++ b/docs/PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable.md
@@ -0,0 +1,18 @@
+# Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **on_behalf_of_user_remote_id** | **String** | The remote ID of the user that will be displayed in the UI as the one that performed the action. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutAtsApplicationsApplicationIdStageRequestBodyRemoteFieldsWorkable.new(
+ on_behalf_of_user_remote_id: null
+)
+```
+
diff --git a/docs/PutCustomDatevEmployeesEmployeeIdCompensationsPositiveResponse.md b/docs/PutCustomDatevEmployeesEmployeeIdCompensationsPositiveResponse.md
new file mode 100644
index 0000000..9e2dd84
--- /dev/null
+++ b/docs/PutCustomDatevEmployeesEmployeeIdCompensationsPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | **Object** | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PutCustomDatevEmployeesEmployeeIdCompensationsRequestBody.md b/docs/PutCustomDatevEmployeesEmployeeIdCompensationsRequestBody.md
new file mode 100644
index 0000000..9021c38
--- /dev/null
+++ b/docs/PutCustomDatevEmployeesEmployeeIdCompensationsRequestBody.md
@@ -0,0 +1,20 @@
+# Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **effective_date** | **Time** | Date from which the submitted compensations should be valid. Please note that it might not be possible to set compensations for the past if the payroll was already run. | |
+| **compensations** | [**Array<PutCustomDatevEmployeesEmployeeIdCompensationsRequestBodyCompensationsInner>**](PutCustomDatevEmployeesEmployeeIdCompensationsRequestBodyCompensationsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsRequestBody.new(
+ effective_date: null,
+ compensations: null
+)
+```
+
diff --git a/docs/PutCustomDatevEmployeesEmployeeIdCompensationsRequestBodyCompensationsInner.md b/docs/PutCustomDatevEmployeesEmployeeIdCompensationsRequestBodyCompensationsInner.md
new file mode 100644
index 0000000..0d3a5ec
--- /dev/null
+++ b/docs/PutCustomDatevEmployeesEmployeeIdCompensationsRequestBodyCompensationsInner.md
@@ -0,0 +1,24 @@
+# Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsRequestBodyCompensationsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **amount** | **Float** | The amount that this employee will be paid. | |
+| **currency** | **String** | The currency in which the employee gets paid. Currently, only euro is supported as integrated systems only work with Euro. | |
+| **period** | **String** | The period for which the specified amount is paid. Currently, integrated systems only support \"HOUR\" and \"MONTH\". | |
+| **lohnart** | **Integer** | The Lohnart that should be used for this compensation. If not specified, the default Lohnart that was requested in the connection flow will be used. Generally Lohnart is only available for monthly compensations. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutCustomDatevEmployeesEmployeeIdCompensationsRequestBodyCompensationsInner.new(
+ amount: null,
+ currency: null,
+ period: null,
+ lohnart: null
+)
+```
+
diff --git a/docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse.md b/docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse.md
new file mode 100644
index 0000000..acd3d1f
--- /dev/null
+++ b/docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse.md
@@ -0,0 +1,22 @@
+# Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | **Object** | | |
+| **warnings** | [**Array<PostPassthroughToolApiPositiveResponseWarningsInner>**](PostPassthroughToolApiPositiveResponseWarningsInner.md) | These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse.new(
+ status: null,
+ data: null,
+ warnings: null
+)
+```
+
diff --git a/docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody.md b/docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody.md
new file mode 100644
index 0000000..32b496e
--- /dev/null
+++ b/docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody.md
@@ -0,0 +1,24 @@
+# Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **payroll_run** | [**PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyPayrollRun**](PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyPayrollRun.md) | | |
+| **hourly_payments** | [**Array<PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyHourlyPaymentsInner>**](PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyHourlyPaymentsInner.md) | Add entries for all the hourly calculated supplements here. For example you can write \"Overtime\" or \"Work on Holidays\" (in hours here). Unfortunately, DATEV doens't allow showing a lable for the entries. | |
+| **fixed_payments** | [**Array<PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyFixedPaymentsInner>**](PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyFixedPaymentsInner.md) | Add entries for all the fixed supplements here. For example you can write \"Bonuses\" (in Euros here). Unfortunately, DATEV doens't allow showing a lable for the entries. | |
+| **custom_lodas** | [**Array<PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyCustomLodasInner>**](PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyCustomLodasInner.md) | Add custom entries to the DATEV Lodas Standard Erfassungstabelle. | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody.new(
+ payroll_run: null,
+ hourly_payments: null,
+ fixed_payments: null,
+ custom_lodas: null
+)
+```
+
diff --git a/docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyCustomLodasInner.md b/docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyCustomLodasInner.md
new file mode 100644
index 0000000..2d8b8b3
--- /dev/null
+++ b/docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyCustomLodasInner.md
@@ -0,0 +1,22 @@
+# Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyCustomLodasInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **amount** | **Float** | This amount value will be mapped to Datev \"Wert\" field. | |
+| **lohnart** | **Float** | Choose a valid Lodas Lohnart. | |
+| **bearbeitungsschluessel** | **Float** | Choose a valid Lodas Bearbeitungsschlüssel. We list the valid Bearbeitungsschlüssel [here](https://storage.googleapis.com/kombo-assets/integrations/datev/lodas_bs.json). | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyCustomLodasInner.new(
+ amount: null,
+ lohnart: null,
+ bearbeitungsschluessel: null
+)
+```
+
diff --git a/docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyFixedPaymentsInner.md b/docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyFixedPaymentsInner.md
new file mode 100644
index 0000000..551f4e6
--- /dev/null
+++ b/docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyFixedPaymentsInner.md
@@ -0,0 +1,20 @@
+# Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyFixedPaymentsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **amount** | **Float** | | |
+| **lohnart** | **Float** | The \"Lohnart\" (payment-type) in DATEV. Make sure a Lohnart is selected that actually supports fixed payments (no hourly modifier). | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyFixedPaymentsInner.new(
+ amount: null,
+ lohnart: null
+)
+```
+
diff --git a/docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyHourlyPaymentsInner.md b/docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyHourlyPaymentsInner.md
new file mode 100644
index 0000000..f0960e8
--- /dev/null
+++ b/docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyHourlyPaymentsInner.md
@@ -0,0 +1,20 @@
+# Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyHourlyPaymentsInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **hours** | **Float** | Number of hours this employee has worked. | |
+| **lohnart** | **Float** | The \"Lohnart\" (payment-type) in DATEV. Make sure a Lohnart is selected that actually supports hours. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyHourlyPaymentsInner.new(
+ hours: null,
+ lohnart: null
+)
+```
+
diff --git a/docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyPayrollRun.md b/docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyPayrollRun.md
new file mode 100644
index 0000000..fb6fd09
--- /dev/null
+++ b/docs/PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyPayrollRun.md
@@ -0,0 +1,18 @@
+# Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyPayrollRun
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **date** | **Time** | YYYY-MM-DDTHH:mm:ss.sssZ | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBodyPayrollRun.new(
+ date: null
+)
+```
+
diff --git a/docs/PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse.md b/docs/PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse.md
new file mode 100644
index 0000000..1a1c890
--- /dev/null
+++ b/docs/PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse.md
@@ -0,0 +1,20 @@
+# Kombo::PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **status** | **String** | | |
+| **data** | [**GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInner**](GetIntegrationsIntegrationIdCustomFieldsPositiveResponseDataResultsInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdPositiveResponse.new(
+ status: null,
+ data: null
+)
+```
+
diff --git a/docs/PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody.md b/docs/PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody.md
new file mode 100644
index 0000000..355499b
--- /dev/null
+++ b/docs/PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody.md
@@ -0,0 +1,18 @@
+# Kombo::PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **integration_field_id** | **String** | The integration field's unique ID which the custom field should be mapped to. Null to remove a mapping. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::PutIntegrationsIntegrationIdCustomFieldsCustomFieldIdRequestBody.new(
+ integration_field_id: null
+)
+```
+
diff --git a/docs/RemoteEventReceivedWebhookPayload.md b/docs/RemoteEventReceivedWebhookPayload.md
new file mode 100644
index 0000000..26e059f
--- /dev/null
+++ b/docs/RemoteEventReceivedWebhookPayload.md
@@ -0,0 +1,22 @@
+# Kombo::RemoteEventReceivedWebhookPayload
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | Unique identifier for this webhook event | |
+| **type** | **String** | Type of the webhook event | |
+| **data** | [**RemoteEventReceivedWebhookPayloadData**](RemoteEventReceivedWebhookPayloadData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::RemoteEventReceivedWebhookPayload.new(
+ id: null,
+ type: null,
+ data: null
+)
+```
+
diff --git a/docs/RemoteEventReceivedWebhookPayloadData.md b/docs/RemoteEventReceivedWebhookPayloadData.md
new file mode 100644
index 0000000..f5038e2
--- /dev/null
+++ b/docs/RemoteEventReceivedWebhookPayloadData.md
@@ -0,0 +1,24 @@
+# Kombo::RemoteEventReceivedWebhookPayloadData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **integration_id** | **String** | The unique identifier of the integration. | |
+| **integration_tool** | **String** | The name of the integrated tool (e.g., \"personio\", \"greenhouse\"). | |
+| **integration_category** | **String** | The category of the integration (HRIS, ATS, or ASSESSMENT). | |
+| **end_user** | [**ConnectionFlowFailedWebhookPayloadDataEndUser**](ConnectionFlowFailedWebhookPayloadDataEndUser.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::RemoteEventReceivedWebhookPayloadData.new(
+ integration_id: null,
+ integration_tool: null,
+ integration_category: null,
+ end_user: null
+)
+```
+
diff --git a/docs/Schema1Value.md b/docs/Schema1Value.md
new file mode 100644
index 0000000..466c80c
--- /dev/null
+++ b/docs/Schema1Value.md
@@ -0,0 +1,48 @@
+# Kombo::Schema1Value
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **label** | **String** | | |
+| **required** | **Boolean** | | |
+| **description** | **String** | | [optional] |
+| **unified_key** | **String** | | [optional] |
+| **type** | **String** | | |
+| **min_length** | **Float** | | [optional] |
+| **max_length** | **Float** | | [optional] |
+| **reg_exp** | **String** | | [optional] |
+| **min** | **Float** | | [optional] |
+| **max** | **Float** | | [optional] |
+| **options** | [**Schema2AnyOf3Options**](Schema2AnyOf3Options.md) | | |
+| **min_items** | **Float** | | [optional] |
+| **max_items** | **Float** | | [optional] |
+| **properties** | [**Hash<String, Schema1Value>**](Schema1Value.md) | | |
+| **item_type** | [**Schema2**](Schema2.md) | | |
+| **file_restrictions** | [**Schema2AnyOf8FileRestrictions**](Schema2AnyOf8FileRestrictions.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::Schema1Value.new(
+ label: null,
+ required: null,
+ description: null,
+ unified_key: null,
+ type: null,
+ min_length: null,
+ max_length: null,
+ reg_exp: null,
+ min: null,
+ max: null,
+ options: null,
+ min_items: null,
+ max_items: null,
+ properties: null,
+ item_type: null,
+ file_restrictions: null
+)
+```
+
diff --git a/docs/Schema2.md b/docs/Schema2.md
new file mode 100644
index 0000000..135a8fb
--- /dev/null
+++ b/docs/Schema2.md
@@ -0,0 +1,48 @@
+# Kombo::Schema2
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **label** | **String** | | |
+| **required** | **Boolean** | | |
+| **description** | **String** | | [optional] |
+| **unified_key** | **String** | | [optional] |
+| **type** | **String** | | |
+| **min_length** | **Float** | | [optional] |
+| **max_length** | **Float** | | [optional] |
+| **reg_exp** | **String** | | [optional] |
+| **min** | **Float** | | [optional] |
+| **max** | **Float** | | [optional] |
+| **options** | [**Schema2AnyOf3Options**](Schema2AnyOf3Options.md) | | |
+| **min_items** | **Float** | | [optional] |
+| **max_items** | **Float** | | [optional] |
+| **properties** | [**Hash<String, Schema1Value>**](Schema1Value.md) | | |
+| **item_type** | [**Schema2**](Schema2.md) | | |
+| **file_restrictions** | [**Schema2AnyOf8FileRestrictions**](Schema2AnyOf8FileRestrictions.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::Schema2.new(
+ label: null,
+ required: null,
+ description: null,
+ unified_key: null,
+ type: null,
+ min_length: null,
+ max_length: null,
+ reg_exp: null,
+ min: null,
+ max: null,
+ options: null,
+ min_items: null,
+ max_items: null,
+ properties: null,
+ item_type: null,
+ file_restrictions: null
+)
+```
+
diff --git a/docs/Schema2AnyOf.md b/docs/Schema2AnyOf.md
new file mode 100644
index 0000000..52f854a
--- /dev/null
+++ b/docs/Schema2AnyOf.md
@@ -0,0 +1,32 @@
+# Kombo::Schema2AnyOf
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **label** | **String** | | |
+| **required** | **Boolean** | | |
+| **description** | **String** | | [optional] |
+| **unified_key** | **String** | | [optional] |
+| **type** | **String** | | |
+| **min_length** | **Float** | | [optional] |
+| **max_length** | **Float** | | [optional] |
+| **reg_exp** | **String** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::Schema2AnyOf.new(
+ label: null,
+ required: null,
+ description: null,
+ unified_key: null,
+ type: null,
+ min_length: null,
+ max_length: null,
+ reg_exp: null
+)
+```
+
diff --git a/docs/Schema2AnyOf1.md b/docs/Schema2AnyOf1.md
new file mode 100644
index 0000000..e34793c
--- /dev/null
+++ b/docs/Schema2AnyOf1.md
@@ -0,0 +1,30 @@
+# Kombo::Schema2AnyOf1
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **label** | **String** | | |
+| **required** | **Boolean** | | |
+| **description** | **String** | | [optional] |
+| **unified_key** | **String** | | [optional] |
+| **type** | **String** | | |
+| **min** | **Float** | | [optional] |
+| **max** | **Float** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::Schema2AnyOf1.new(
+ label: null,
+ required: null,
+ description: null,
+ unified_key: null,
+ type: null,
+ min: null,
+ max: null
+)
+```
+
diff --git a/docs/Schema2AnyOf2.md b/docs/Schema2AnyOf2.md
new file mode 100644
index 0000000..318d44f
--- /dev/null
+++ b/docs/Schema2AnyOf2.md
@@ -0,0 +1,26 @@
+# Kombo::Schema2AnyOf2
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **label** | **String** | | |
+| **required** | **Boolean** | | |
+| **description** | **String** | | [optional] |
+| **unified_key** | **String** | | [optional] |
+| **type** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::Schema2AnyOf2.new(
+ label: null,
+ required: null,
+ description: null,
+ unified_key: null,
+ type: null
+)
+```
+
diff --git a/docs/Schema2AnyOf3.md b/docs/Schema2AnyOf3.md
new file mode 100644
index 0000000..f0387f7
--- /dev/null
+++ b/docs/Schema2AnyOf3.md
@@ -0,0 +1,28 @@
+# Kombo::Schema2AnyOf3
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **label** | **String** | | |
+| **required** | **Boolean** | | |
+| **description** | **String** | | [optional] |
+| **unified_key** | **String** | | [optional] |
+| **type** | **String** | | |
+| **options** | [**Schema2AnyOf3Options**](Schema2AnyOf3Options.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::Schema2AnyOf3.new(
+ label: null,
+ required: null,
+ description: null,
+ unified_key: null,
+ type: null,
+ options: null
+)
+```
+
diff --git a/docs/Schema2AnyOf3Options.md b/docs/Schema2AnyOf3Options.md
new file mode 100644
index 0000000..94bb411
--- /dev/null
+++ b/docs/Schema2AnyOf3Options.md
@@ -0,0 +1,22 @@
+# Kombo::Schema2AnyOf3Options
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **type** | **String** | | |
+| **entries** | [**Array<Schema2AnyOf3OptionsAnyOfEntriesInner>**](Schema2AnyOf3OptionsAnyOfEntriesInner.md) | | |
+| **link** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::Schema2AnyOf3Options.new(
+ type: null,
+ entries: null,
+ link: null
+)
+```
+
diff --git a/docs/Schema2AnyOf3OptionsAnyOf.md b/docs/Schema2AnyOf3OptionsAnyOf.md
new file mode 100644
index 0000000..328e639
--- /dev/null
+++ b/docs/Schema2AnyOf3OptionsAnyOf.md
@@ -0,0 +1,20 @@
+# Kombo::Schema2AnyOf3OptionsAnyOf
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **type** | **String** | | |
+| **entries** | [**Array<Schema2AnyOf3OptionsAnyOfEntriesInner>**](Schema2AnyOf3OptionsAnyOfEntriesInner.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::Schema2AnyOf3OptionsAnyOf.new(
+ type: null,
+ entries: null
+)
+```
+
diff --git a/docs/Schema2AnyOf3OptionsAnyOf1.md b/docs/Schema2AnyOf3OptionsAnyOf1.md
new file mode 100644
index 0000000..68700fc
--- /dev/null
+++ b/docs/Schema2AnyOf3OptionsAnyOf1.md
@@ -0,0 +1,20 @@
+# Kombo::Schema2AnyOf3OptionsAnyOf1
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **type** | **String** | | |
+| **link** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::Schema2AnyOf3OptionsAnyOf1.new(
+ type: null,
+ link: null
+)
+```
+
diff --git a/docs/Schema2AnyOf3OptionsAnyOfEntriesInner.md b/docs/Schema2AnyOf3OptionsAnyOfEntriesInner.md
new file mode 100644
index 0000000..a85d888
--- /dev/null
+++ b/docs/Schema2AnyOf3OptionsAnyOfEntriesInner.md
@@ -0,0 +1,24 @@
+# Kombo::Schema2AnyOf3OptionsAnyOfEntriesInner
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | | |
+| **label** | **String** | | |
+| **unified_value** | **String** | | [optional] |
+| **remote_id** | [**Schema2AnyOf3OptionsAnyOfEntriesInnerRemoteId**](Schema2AnyOf3OptionsAnyOfEntriesInnerRemoteId.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::Schema2AnyOf3OptionsAnyOfEntriesInner.new(
+ id: null,
+ label: null,
+ unified_value: null,
+ remote_id: null
+)
+```
+
diff --git a/docs/Schema2AnyOf3OptionsAnyOfEntriesInnerRemoteId.md b/docs/Schema2AnyOf3OptionsAnyOfEntriesInnerRemoteId.md
new file mode 100644
index 0000000..95dac01
--- /dev/null
+++ b/docs/Schema2AnyOf3OptionsAnyOfEntriesInnerRemoteId.md
@@ -0,0 +1,49 @@
+# Kombo::Schema2AnyOf3OptionsAnyOfEntriesInnerRemoteId
+
+## Class instance methods
+
+### `openapi_one_of`
+
+Returns the list of classes defined in oneOf.
+
+#### Example
+
+```ruby
+require 'kombo_client'
+
+Kombo::Schema2AnyOf3OptionsAnyOfEntriesInnerRemoteId.openapi_one_of
+# =>
+# [
+# :'Float',
+# :'String'
+# ]
+```
+
+### build
+
+Find the appropriate object from the `openapi_one_of` list and casts the data into it.
+
+#### Example
+
+```ruby
+require 'kombo_client'
+
+Kombo::Schema2AnyOf3OptionsAnyOfEntriesInnerRemoteId.build(data)
+# => #
+
+Kombo::Schema2AnyOf3OptionsAnyOfEntriesInnerRemoteId.build(data_that_doesnt_match)
+# => nil
+```
+
+#### Parameters
+
+| Name | Type | Description |
+| ---- | ---- | ----------- |
+| **data** | **Mixed** | data to be matched against the list of oneOf items |
+
+#### Return type
+
+- `Float`
+- `String`
+- `nil` (if no type matches)
+
diff --git a/docs/Schema2AnyOf4.md b/docs/Schema2AnyOf4.md
new file mode 100644
index 0000000..44a906d
--- /dev/null
+++ b/docs/Schema2AnyOf4.md
@@ -0,0 +1,32 @@
+# Kombo::Schema2AnyOf4
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **label** | **String** | | |
+| **required** | **Boolean** | | |
+| **description** | **String** | | [optional] |
+| **unified_key** | **String** | | [optional] |
+| **type** | **String** | | |
+| **min_items** | **Float** | | [optional] |
+| **max_items** | **Float** | | [optional] |
+| **options** | [**Schema2AnyOf3Options**](Schema2AnyOf3Options.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::Schema2AnyOf4.new(
+ label: null,
+ required: null,
+ description: null,
+ unified_key: null,
+ type: null,
+ min_items: null,
+ max_items: null,
+ options: null
+)
+```
+
diff --git a/docs/Schema2AnyOf5.md b/docs/Schema2AnyOf5.md
new file mode 100644
index 0000000..fb455e3
--- /dev/null
+++ b/docs/Schema2AnyOf5.md
@@ -0,0 +1,26 @@
+# Kombo::Schema2AnyOf5
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **label** | **String** | | |
+| **required** | **Boolean** | | |
+| **description** | **String** | | [optional] |
+| **unified_key** | **String** | | [optional] |
+| **type** | **String** | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::Schema2AnyOf5.new(
+ label: null,
+ required: null,
+ description: null,
+ unified_key: null,
+ type: null
+)
+```
+
diff --git a/docs/Schema2AnyOf6.md b/docs/Schema2AnyOf6.md
new file mode 100644
index 0000000..0e13d43
--- /dev/null
+++ b/docs/Schema2AnyOf6.md
@@ -0,0 +1,28 @@
+# Kombo::Schema2AnyOf6
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **label** | **String** | | |
+| **required** | **Boolean** | | |
+| **description** | **String** | | [optional] |
+| **unified_key** | **String** | | [optional] |
+| **type** | **String** | | |
+| **properties** | [**Hash<String, Schema1Value>**](Schema1Value.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::Schema2AnyOf6.new(
+ label: null,
+ required: null,
+ description: null,
+ unified_key: null,
+ type: null,
+ properties: null
+)
+```
+
diff --git a/docs/Schema2AnyOf7.md b/docs/Schema2AnyOf7.md
new file mode 100644
index 0000000..6541841
--- /dev/null
+++ b/docs/Schema2AnyOf7.md
@@ -0,0 +1,32 @@
+# Kombo::Schema2AnyOf7
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **label** | **String** | | |
+| **required** | **Boolean** | | |
+| **description** | **String** | | [optional] |
+| **unified_key** | **String** | | [optional] |
+| **type** | **String** | | |
+| **item_type** | [**Schema2**](Schema2.md) | | |
+| **min_items** | **Float** | | [optional] |
+| **max_items** | **Float** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::Schema2AnyOf7.new(
+ label: null,
+ required: null,
+ description: null,
+ unified_key: null,
+ type: null,
+ item_type: null,
+ min_items: null,
+ max_items: null
+)
+```
+
diff --git a/docs/Schema2AnyOf8.md b/docs/Schema2AnyOf8.md
new file mode 100644
index 0000000..02aac06
--- /dev/null
+++ b/docs/Schema2AnyOf8.md
@@ -0,0 +1,28 @@
+# Kombo::Schema2AnyOf8
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **label** | **String** | | |
+| **required** | **Boolean** | | |
+| **description** | **String** | | [optional] |
+| **unified_key** | **String** | | [optional] |
+| **type** | **String** | | |
+| **file_restrictions** | [**Schema2AnyOf8FileRestrictions**](Schema2AnyOf8FileRestrictions.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::Schema2AnyOf8.new(
+ label: null,
+ required: null,
+ description: null,
+ unified_key: null,
+ type: null,
+ file_restrictions: null
+)
+```
+
diff --git a/docs/Schema2AnyOf8FileRestrictions.md b/docs/Schema2AnyOf8FileRestrictions.md
new file mode 100644
index 0000000..99d70ac
--- /dev/null
+++ b/docs/Schema2AnyOf8FileRestrictions.md
@@ -0,0 +1,20 @@
+# Kombo::Schema2AnyOf8FileRestrictions
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **accepted_mime_types** | **Array<String>** | | |
+| **max_file_size** | **Float** | | [optional] |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::Schema2AnyOf8FileRestrictions.new(
+ accepted_mime_types: null,
+ max_file_size: null
+)
+```
+
diff --git a/docs/Schema4.md b/docs/Schema4.md
new file mode 100644
index 0000000..13b4b45
--- /dev/null
+++ b/docs/Schema4.md
@@ -0,0 +1,55 @@
+# Kombo::Schema4
+
+## Class instance methods
+
+### `openapi_one_of`
+
+Returns the list of classes defined in oneOf.
+
+#### Example
+
+```ruby
+require 'kombo_client'
+
+Kombo::Schema4.openapi_one_of
+# =>
+# [
+# :'Array',
+# :'Boolean',
+# :'Float',
+# :'Hash',
+# :'String'
+# ]
+```
+
+### build
+
+Find the appropriate object from the `openapi_one_of` list and casts the data into it.
+
+#### Example
+
+```ruby
+require 'kombo_client'
+
+Kombo::Schema4.build(data)
+# => #:0x00007fdd4aab02a0>
+
+Kombo::Schema4.build(data_that_doesnt_match)
+# => nil
+```
+
+#### Parameters
+
+| Name | Type | Description |
+| ---- | ---- | ----------- |
+| **data** | **Mixed** | data to be matched against the list of oneOf items |
+
+#### Return type
+
+- `Array`
+- `Boolean`
+- `Float`
+- `Hash`
+- `String`
+- `nil` (if no type matches)
+
diff --git a/docs/SyncFinishedWebhookPayload.md b/docs/SyncFinishedWebhookPayload.md
new file mode 100644
index 0000000..9e8ebc0
--- /dev/null
+++ b/docs/SyncFinishedWebhookPayload.md
@@ -0,0 +1,22 @@
+# Kombo::SyncFinishedWebhookPayload
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **id** | **String** | Unique identifier for this webhook event | |
+| **type** | **String** | Type of the webhook event | |
+| **data** | [**SyncFinishedWebhookPayloadData**](SyncFinishedWebhookPayloadData.md) | | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::SyncFinishedWebhookPayload.new(
+ id: null,
+ type: null,
+ data: null
+)
+```
+
diff --git a/docs/SyncFinishedWebhookPayloadData.md b/docs/SyncFinishedWebhookPayloadData.md
new file mode 100644
index 0000000..264fe14
--- /dev/null
+++ b/docs/SyncFinishedWebhookPayloadData.md
@@ -0,0 +1,36 @@
+# Kombo::SyncFinishedWebhookPayloadData
+
+## Properties
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **sync_id** | **String** | The unique identifier of the sync operation. | |
+| **sync_state** | **String** | The final state of the sync operation (e.g., `SUCCEEDED`, `FAILED`). | |
+| **sync_started_at** | **Time** | ISO 8601 timestamp when the sync operation started. | |
+| **sync_ended_at** | **Time** | ISO 8601 timestamp when the sync operation completed. | |
+| **sync_duration_seconds** | **Integer** | Duration of the sync operation in seconds. | |
+| **integration_id** | **String** | The unique identifier of the integration. | |
+| **integration_tool** | **String** | The name of the integrated tool (e.g., \"personio\", \"greenhouse\"). | |
+| **integration_category** | **String** | The category of the integration (HRIS, ATS, or ASSESSMENT). | |
+| **end_user** | [**ConnectionFlowFailedWebhookPayloadDataEndUser**](ConnectionFlowFailedWebhookPayloadDataEndUser.md) | | |
+| **log_url** | **String** | URL to view detailed logs for the operation. | |
+
+## Example
+
+```ruby
+require 'kombo_client'
+
+instance = Kombo::SyncFinishedWebhookPayloadData.new(
+ sync_id: null,
+ sync_state: null,
+ sync_started_at: null,
+ sync_ended_at: null,
+ sync_duration_seconds: null,
+ integration_id: null,
+ integration_tool: null,
+ integration_category: null,
+ end_user: null,
+ log_url: null
+)
+```
+
diff --git a/docs/UnifiedATSAPIApi.md b/docs/UnifiedATSAPIApi.md
new file mode 100644
index 0000000..e48a09c
--- /dev/null
+++ b/docs/UnifiedATSAPIApi.md
@@ -0,0 +1,2279 @@
+# Kombo::UnifiedATSAPIApi
+
+All URIs are relative to *https://api.kombo.dev/v1*
+
+| Method | HTTP request | Description |
+| ------ | ------------ | ----------- |
+| [**delete_ats_candidates_candidate_id_tags**](UnifiedATSAPIApi.md#delete_ats_candidates_candidate_id_tags) | **DELETE** /ats/candidates/{candidate_id}/tags | Remove tag from candidate |
+| [**get_ats_actions_ats_add_application_attachment**](UnifiedATSAPIApi.md#get_ats_actions_ats_add_application_attachment) | **GET** /ats/actions/ats_add_application_attachment | |
+| [**get_ats_actions_ats_add_candidate_attachment**](UnifiedATSAPIApi.md#get_ats_actions_ats_add_candidate_attachment) | **GET** /ats/actions/ats_add_candidate_attachment | |
+| [**get_ats_actions_ats_create_application**](UnifiedATSAPIApi.md#get_ats_actions_ats_create_application) | **GET** /ats/actions/ats_create_application | |
+| [**get_ats_actions_ats_create_candidate**](UnifiedATSAPIApi.md#get_ats_actions_ats_create_candidate) | **GET** /ats/actions/ats_create_candidate | |
+| [**get_ats_application_stages**](UnifiedATSAPIApi.md#get_ats_application_stages) | **GET** /ats/application-stages | Get application stages |
+| [**get_ats_applications**](UnifiedATSAPIApi.md#get_ats_applications) | **GET** /ats/applications | Get applications |
+| [**get_ats_applications_application_id_attachments**](UnifiedATSAPIApi.md#get_ats_applications_application_id_attachments) | **GET** /ats/applications/{application_id}/attachments | Get application attachments |
+| [**get_ats_candidates**](UnifiedATSAPIApi.md#get_ats_candidates) | **GET** /ats/candidates | Get candidates |
+| [**get_ats_candidates_candidate_id_attachments**](UnifiedATSAPIApi.md#get_ats_candidates_candidate_id_attachments) | **GET** /ats/candidates/{candidate_id}/attachments | Get candidate attachments |
+| [**get_ats_interviews**](UnifiedATSAPIApi.md#get_ats_interviews) | **GET** /ats/interviews | Get interviews |
+| [**get_ats_jobs**](UnifiedATSAPIApi.md#get_ats_jobs) | **GET** /ats/jobs | Get jobs |
+| [**get_ats_offers**](UnifiedATSAPIApi.md#get_ats_offers) | **GET** /ats/offers | Get offers |
+| [**get_ats_rejection_reasons**](UnifiedATSAPIApi.md#get_ats_rejection_reasons) | **GET** /ats/rejection-reasons | Get rejection reasons |
+| [**get_ats_tags**](UnifiedATSAPIApi.md#get_ats_tags) | **GET** /ats/tags | Get tags |
+| [**get_ats_users**](UnifiedATSAPIApi.md#get_ats_users) | **GET** /ats/users | Get users |
+| [**patch_ats_applications_application_id_interviews**](UnifiedATSAPIApi.md#patch_ats_applications_application_id_interviews) | **PATCH** /ats/applications/{application_id}/interviews | Update interview |
+| [**post_ats_applications_application_id_attachments**](UnifiedATSAPIApi.md#post_ats_applications_application_id_attachments) | **POST** /ats/applications/{application_id}/attachments | Add attachment to application |
+| [**post_ats_applications_application_id_interviews**](UnifiedATSAPIApi.md#post_ats_applications_application_id_interviews) | **POST** /ats/applications/{application_id}/interviews | Create interview |
+| [**post_ats_applications_application_id_notes**](UnifiedATSAPIApi.md#post_ats_applications_application_id_notes) | **POST** /ats/applications/{application_id}/notes | Add note to application |
+| [**post_ats_applications_application_id_reject**](UnifiedATSAPIApi.md#post_ats_applications_application_id_reject) | **POST** /ats/applications/{application_id}/reject | Reject application |
+| [**post_ats_applications_application_id_result_links**](UnifiedATSAPIApi.md#post_ats_applications_application_id_result_links) | **POST** /ats/applications/{application_id}/result-links | Add result link to application |
+| [**post_ats_candidates**](UnifiedATSAPIApi.md#post_ats_candidates) | **POST** /ats/candidates | Create candidate |
+| [**post_ats_candidates_candidate_id_attachments**](UnifiedATSAPIApi.md#post_ats_candidates_candidate_id_attachments) | **POST** /ats/candidates/{candidate_id}/attachments | Add attachment to candidate |
+| [**post_ats_candidates_candidate_id_result_links**](UnifiedATSAPIApi.md#post_ats_candidates_candidate_id_result_links) | **POST** /ats/candidates/{candidate_id}/result-links | Add result link to candidate |
+| [**post_ats_candidates_candidate_id_tags**](UnifiedATSAPIApi.md#post_ats_candidates_candidate_id_tags) | **POST** /ats/candidates/{candidate_id}/tags | Add tag to candidate |
+| [**post_ats_import_tracked_application**](UnifiedATSAPIApi.md#post_ats_import_tracked_application) | **POST** /ats/import-tracked-application | Import tracked application |
+| [**post_ats_jobs_job_id_applications**](UnifiedATSAPIApi.md#post_ats_jobs_job_id_applications) | **POST** /ats/jobs/{job_id}/applications | Create application |
+| [**put_ats_applications_application_id_stage**](UnifiedATSAPIApi.md#put_ats_applications_application_id_stage) | **PUT** /ats/applications/{application_id}/stage | Move application to stage |
+
+
+## delete_ats_candidates_candidate_id_tags
+
+> delete_ats_candidates_candidate_id_tags(x_integration_id, candidate_id, opts)
+
+Remove tag from candidate
+
+Remove a tag from a candidate based on its name. This will also succeed if the tag does not exist on the candidate. This endpoint requires the permission **Manage tags** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"tag\": { \"name\": \"Excellent Fit\" } } ```
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+candidate_id = '8Xi6iZrwusZqJmDGXs49GBmJ' # String | The Kombo ID of the candidate you want to remove the tag from.
+opts = {
+ delete_ats_candidates_candidate_id_tags_request_body: Kombo::DeleteAtsCandidatesCandidateIdTagsRequestBody.new({tag: Kombo::DeleteAtsCandidatesCandidateIdTagsRequestBodyTag.new({name: 'name_example'})}) # DeleteAtsCandidatesCandidateIdTagsRequestBody | DELETE /ats/candidates/:candidate_id/tags Request body
+}
+
+begin
+ # Remove tag from candidate
+ result = api_instance.delete_ats_candidates_candidate_id_tags(x_integration_id, candidate_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->delete_ats_candidates_candidate_id_tags: #{e}"
+end
+```
+
+#### Using the delete_ats_candidates_candidate_id_tags_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> delete_ats_candidates_candidate_id_tags_with_http_info(x_integration_id, candidate_id, opts)
+
+```ruby
+begin
+ # Remove tag from candidate
+ data, status_code, headers = api_instance.delete_ats_candidates_candidate_id_tags_with_http_info(x_integration_id, candidate_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->delete_ats_candidates_candidate_id_tags_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **candidate_id** | **String** | The Kombo ID of the candidate you want to remove the tag from. | |
+| **delete_ats_candidates_candidate_id_tags_request_body** | [**DeleteAtsCandidatesCandidateIdTagsRequestBody**](DeleteAtsCandidatesCandidateIdTagsRequestBody.md) | DELETE /ats/candidates/:candidate_id/tags Request body | [optional] |
+
+### Return type
+
+[**DeleteAtsCandidatesCandidateIdTagsPositiveResponse**](DeleteAtsCandidatesCandidateIdTagsPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## get_ats_actions_ats_add_application_attachment
+
+> get_ats_actions_ats_add_application_attachment(x_integration_id)
+
+
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+
+begin
+
+ result = api_instance.get_ats_actions_ats_add_application_attachment(x_integration_id)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_actions_ats_add_application_attachment: #{e}"
+end
+```
+
+#### Using the get_ats_actions_ats_add_application_attachment_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_ats_actions_ats_add_application_attachment_with_http_info(x_integration_id)
+
+```ruby
+begin
+
+ data, status_code, headers = api_instance.get_ats_actions_ats_add_application_attachment_with_http_info(x_integration_id)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_actions_ats_add_application_attachment_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+
+### Return type
+
+[**GetAtsActionsAtsAddApplicationAttachmentPositiveResponse**](GetAtsActionsAtsAddApplicationAttachmentPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_ats_actions_ats_add_candidate_attachment
+
+> get_ats_actions_ats_add_candidate_attachment(x_integration_id)
+
+
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+
+begin
+
+ result = api_instance.get_ats_actions_ats_add_candidate_attachment(x_integration_id)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_actions_ats_add_candidate_attachment: #{e}"
+end
+```
+
+#### Using the get_ats_actions_ats_add_candidate_attachment_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_ats_actions_ats_add_candidate_attachment_with_http_info(x_integration_id)
+
+```ruby
+begin
+
+ data, status_code, headers = api_instance.get_ats_actions_ats_add_candidate_attachment_with_http_info(x_integration_id)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_actions_ats_add_candidate_attachment_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+
+### Return type
+
+[**GetAtsActionsAtsAddCandidateAttachmentPositiveResponse**](GetAtsActionsAtsAddCandidateAttachmentPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_ats_actions_ats_create_application
+
+> get_ats_actions_ats_create_application(x_integration_id)
+
+
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+
+begin
+
+ result = api_instance.get_ats_actions_ats_create_application(x_integration_id)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_actions_ats_create_application: #{e}"
+end
+```
+
+#### Using the get_ats_actions_ats_create_application_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_ats_actions_ats_create_application_with_http_info(x_integration_id)
+
+```ruby
+begin
+
+ data, status_code, headers = api_instance.get_ats_actions_ats_create_application_with_http_info(x_integration_id)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_actions_ats_create_application_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+
+### Return type
+
+[**GetAtsActionsAtsCreateApplicationPositiveResponse**](GetAtsActionsAtsCreateApplicationPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_ats_actions_ats_create_candidate
+
+> get_ats_actions_ats_create_candidate(x_integration_id)
+
+
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+
+begin
+
+ result = api_instance.get_ats_actions_ats_create_candidate(x_integration_id)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_actions_ats_create_candidate: #{e}"
+end
+```
+
+#### Using the get_ats_actions_ats_create_candidate_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_ats_actions_ats_create_candidate_with_http_info(x_integration_id)
+
+```ruby
+begin
+
+ data, status_code, headers = api_instance.get_ats_actions_ats_create_candidate_with_http_info(x_integration_id)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_actions_ats_create_candidate_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+
+### Return type
+
+[**GetAtsActionsAtsCreateCandidatePositiveResponse**](GetAtsActionsAtsCreateCandidatePositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_ats_application_stages
+
+> get_ats_application_stages(x_integration_id, opts)
+
+Get application stages
+
+Get all application stages available in the ATS. **This endpoint is deprecated!** Get all application stages available in the ATS. This is deprecated because most ATS systems have separate sets of stages for each job. We'd recommend using the `stages` property from the [GET Jobs endpoint](/ats/v1/get-jobs) instead. **Important**: Using global stages can cause \"Stage not found\" errors when moving applications, especially with systems like Workable that have job-specific stages. [Moving Applications Guide](/ats/implementation-guide/moving-and-rejecting-candidates). Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+opts = {
+ cursor: 'cursor_example', # String | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response.
+ page_size: 789, # Integer | The number of results to return per page. Maximum is 250.
+ updated_after: Time.parse('2013-10-20T19:20:30+01:00'), # Time | Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged. If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).
+ include_deleted: Kombo::GetAtsApplicationStagesParameterIncludeDeleted::TRUE, # GetAtsApplicationStagesParameterIncludeDeleted | By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.
+ ids: 'ids_example', # String | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
+ remote_ids: 'remote_ids_example' # String | Filter by a comma-separated list of remote IDs.
+}
+
+begin
+ # Get application stages
+ result = api_instance.get_ats_application_stages(x_integration_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_application_stages: #{e}"
+end
+```
+
+#### Using the get_ats_application_stages_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_ats_application_stages_with_http_info(x_integration_id, opts)
+
+```ruby
+begin
+ # Get application stages
+ data, status_code, headers = api_instance.get_ats_application_stages_with_http_info(x_integration_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_application_stages_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **cursor** | **String** | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. | [optional] |
+| **page_size** | **Integer** | The number of results to return per page. Maximum is 250. | [optional][default to 100] |
+| **updated_after** | **Time** | Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged. If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior). | [optional] |
+| **include_deleted** | [**GetAtsApplicationStagesParameterIncludeDeleted**](.md) | By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. | [optional][default to 'false'] |
+| **ids** | **String** | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. | [optional] |
+| **remote_ids** | **String** | Filter by a comma-separated list of remote IDs. | [optional] |
+
+### Return type
+
+[**GetAtsApplicationStagesPositiveResponse**](GetAtsApplicationStagesPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_ats_applications
+
+> get_ats_applications(x_integration_id, opts)
+
+Get applications
+
+Retrieve all applications. Visit our in-depth guides to learn more about: - 💡 [Being aware of which applications are tracked](/ats/features/implementation-guide/tracking-created-applications#be-aware-of-which-applications-are-tracked) - 🚦 [Hiring signals](/ats/features/implementation-guide/tracking-created-applications#hiring-signals) - 📈 [Application stage changes](/ats/features/implementation-guide/tracking-created-applications#application-stage-changes) - ❓ [ATS-specific limitations](/ats/features/implementation-guide/tracking-created-applications#ats-specific-limitations) Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+opts = {
+ cursor: 'cursor_example', # String | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response.
+ page_size: 789, # Integer | The number of results to return per page. Maximum is 250.
+ updated_after: Time.parse('2013-10-20T19:20:30+01:00'), # Time | Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged. If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).
+ include_deleted: Kombo::GetAtsApplicationsParameterIncludeDeleted::TRUE, # GetAtsApplicationsParameterIncludeDeleted | By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.
+ ids: 'ids_example', # String | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
+ remote_ids: 'remote_ids_example', # String | Filter by a comma-separated list of remote IDs.
+ outcome: Kombo::GetAtsApplicationsParameterOutcome::PENDING, # GetAtsApplicationsParameterOutcome | **(⚠️ Deprecated - Use the `outcomes` filter instead.)** Filter applications by outcome. This allows you to get applications that are for example `PENDING`, `HIRED`, or `DECLINED`.
+ outcomes: 'outcomes_example', # String | Filter by a comma-separated list of `PENDING`, `HIRED`, `DECLINED` * `PENDING`: The application is still being processed. * `HIRED`: The candidate was hired. * `DECLINED`: The candidate was declined. Leave this blank to get results matching all values.
+ job_ids: 'job_ids_example', # String | Filter by a comma-separated list of job IDs. We will only return applications that are related to _any_ of the jobs.
+ job_remote_ids: 'job_remote_ids_example', # String | Filter by a comma-separated list of job remote IDs. We will only return applications that are related to _any_ of the jobs.
+ current_stage_ids: 'current_stage_ids_example', # String | Filter by a comma-separated list of application stage IDs. We will only return applications that are currently in _any_ of the stages.
+ remote_created_after: Time.parse('2013-10-20T19:20:30+01:00') # Time | Filter applications by the day they were created in the remote system. This allows you to get applications that were created on or after a certain day.
+}
+
+begin
+ # Get applications
+ result = api_instance.get_ats_applications(x_integration_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_applications: #{e}"
+end
+```
+
+#### Using the get_ats_applications_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_ats_applications_with_http_info(x_integration_id, opts)
+
+```ruby
+begin
+ # Get applications
+ data, status_code, headers = api_instance.get_ats_applications_with_http_info(x_integration_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_applications_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **cursor** | **String** | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. | [optional] |
+| **page_size** | **Integer** | The number of results to return per page. Maximum is 250. | [optional][default to 100] |
+| **updated_after** | **Time** | Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged. If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior). | [optional] |
+| **include_deleted** | [**GetAtsApplicationsParameterIncludeDeleted**](.md) | By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. | [optional][default to 'false'] |
+| **ids** | **String** | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. | [optional] |
+| **remote_ids** | **String** | Filter by a comma-separated list of remote IDs. | [optional] |
+| **outcome** | [**GetAtsApplicationsParameterOutcome**](.md) | **(⚠️ Deprecated - Use the `outcomes` filter instead.)** Filter applications by outcome. This allows you to get applications that are for example `PENDING`, `HIRED`, or `DECLINED`. | [optional] |
+| **outcomes** | **String** | Filter by a comma-separated list of `PENDING`, `HIRED`, `DECLINED` * `PENDING`: The application is still being processed. * `HIRED`: The candidate was hired. * `DECLINED`: The candidate was declined. Leave this blank to get results matching all values. | [optional] |
+| **job_ids** | **String** | Filter by a comma-separated list of job IDs. We will only return applications that are related to _any_ of the jobs. | [optional] |
+| **job_remote_ids** | **String** | Filter by a comma-separated list of job remote IDs. We will only return applications that are related to _any_ of the jobs. | [optional] |
+| **current_stage_ids** | **String** | Filter by a comma-separated list of application stage IDs. We will only return applications that are currently in _any_ of the stages. | [optional] |
+| **remote_created_after** | **Time** | Filter applications by the day they were created in the remote system. This allows you to get applications that were created on or after a certain day. | [optional] |
+
+### Return type
+
+[**GetAtsApplicationsPositiveResponse**](GetAtsApplicationsPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_ats_applications_application_id_attachments
+
+> get_ats_applications_application_id_attachments(x_integration_id, application_id)
+
+Get application attachments
+
+Get attachments from a candidate or application. Get attachments from an application. If the ATS stores the attachments on the candidate, it will get the attachments from the corresponding candidate instead. This endpoint requires the permission **Read document attachments** to be enabled in [your scope config](/scopes).
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+application_id = '8Xi6iZrwusZqJmDGXs49GBmJ' # String | The Kombo ID of the application you want to obtain attachments for.
+
+begin
+ # Get application attachments
+ result = api_instance.get_ats_applications_application_id_attachments(x_integration_id, application_id)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_applications_application_id_attachments: #{e}"
+end
+```
+
+#### Using the get_ats_applications_application_id_attachments_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_ats_applications_application_id_attachments_with_http_info(x_integration_id, application_id)
+
+```ruby
+begin
+ # Get application attachments
+ data, status_code, headers = api_instance.get_ats_applications_application_id_attachments_with_http_info(x_integration_id, application_id)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_applications_application_id_attachments_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **application_id** | **String** | The Kombo ID of the application you want to obtain attachments for. | |
+
+### Return type
+
+[**GetAtsApplicationsApplicationIdAttachmentsPositiveResponse**](GetAtsApplicationsApplicationIdAttachmentsPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_ats_candidates
+
+> get_ats_candidates(x_integration_id, opts)
+
+Get candidates
+
+Retrieve all candidates. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+opts = {
+ cursor: 'cursor_example', # String | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response.
+ page_size: 789, # Integer | The number of results to return per page. Maximum is 250.
+ updated_after: Time.parse('2013-10-20T19:20:30+01:00'), # Time | Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged. If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).
+ include_deleted: Kombo::GetAtsCandidatesParameterIncludeDeleted::TRUE, # GetAtsCandidatesParameterIncludeDeleted | By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.
+ ids: 'ids_example', # String | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
+ remote_ids: 'remote_ids_example', # String | Filter by a comma-separated list of remote IDs.
+ email: 'email_example', # String | Filter the candidates based on an email address. When set, returns only the candidates where the given `email` is in `email_addresses`. This filter is case-insensitive.
+ job_ids: 'job_ids_example', # String | Filter by a comma-separated list of job IDs. We will only return candidates that have applied to _any_ of the jobs.
+ first_name: 'first_name_example', # String | Filter candidates by first name. This filter is case-insensitive and matches the exact first name. Fuzzy matching might be enabled in the future, so consider this for your implementation.
+ last_name: 'last_name_example' # String | Filter candidates by last name. This filter is case-insensitive and matches the exact last name. Fuzzy matching might be enabled in the future, so consider this for your implementation.
+}
+
+begin
+ # Get candidates
+ result = api_instance.get_ats_candidates(x_integration_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_candidates: #{e}"
+end
+```
+
+#### Using the get_ats_candidates_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_ats_candidates_with_http_info(x_integration_id, opts)
+
+```ruby
+begin
+ # Get candidates
+ data, status_code, headers = api_instance.get_ats_candidates_with_http_info(x_integration_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_candidates_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **cursor** | **String** | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. | [optional] |
+| **page_size** | **Integer** | The number of results to return per page. Maximum is 250. | [optional][default to 100] |
+| **updated_after** | **Time** | Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged. If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior). | [optional] |
+| **include_deleted** | [**GetAtsCandidatesParameterIncludeDeleted**](.md) | By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. | [optional][default to 'false'] |
+| **ids** | **String** | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. | [optional] |
+| **remote_ids** | **String** | Filter by a comma-separated list of remote IDs. | [optional] |
+| **email** | **String** | Filter the candidates based on an email address. When set, returns only the candidates where the given `email` is in `email_addresses`. This filter is case-insensitive. | [optional] |
+| **job_ids** | **String** | Filter by a comma-separated list of job IDs. We will only return candidates that have applied to _any_ of the jobs. | [optional] |
+| **first_name** | **String** | Filter candidates by first name. This filter is case-insensitive and matches the exact first name. Fuzzy matching might be enabled in the future, so consider this for your implementation. | [optional] |
+| **last_name** | **String** | Filter candidates by last name. This filter is case-insensitive and matches the exact last name. Fuzzy matching might be enabled in the future, so consider this for your implementation. | [optional] |
+
+### Return type
+
+[**GetAtsCandidatesPositiveResponse**](GetAtsCandidatesPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_ats_candidates_candidate_id_attachments
+
+> get_ats_candidates_candidate_id_attachments(x_integration_id, candidate_id)
+
+Get candidate attachments
+
+Get attachments from a candidate, including all attachments of all of their applications. This endpoint requires the permission **Read document attachments** to be enabled in [your scope config](/scopes).
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+candidate_id = '8Xi6iZrwusZqJmDGXs49GBmJ' # String | The Kombo ID of the candidate you want to obtain attachments for.
+
+begin
+ # Get candidate attachments
+ result = api_instance.get_ats_candidates_candidate_id_attachments(x_integration_id, candidate_id)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_candidates_candidate_id_attachments: #{e}"
+end
+```
+
+#### Using the get_ats_candidates_candidate_id_attachments_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_ats_candidates_candidate_id_attachments_with_http_info(x_integration_id, candidate_id)
+
+```ruby
+begin
+ # Get candidate attachments
+ data, status_code, headers = api_instance.get_ats_candidates_candidate_id_attachments_with_http_info(x_integration_id, candidate_id)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_candidates_candidate_id_attachments_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **candidate_id** | **String** | The Kombo ID of the candidate you want to obtain attachments for. | |
+
+### Return type
+
+[**GetAtsCandidatesCandidateIdAttachmentsPositiveResponse**](GetAtsCandidatesCandidateIdAttachmentsPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_ats_interviews
+
+> get_ats_interviews(x_integration_id, opts)
+
+Get interviews
+
+Retrieve all interviews. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+opts = {
+ cursor: 'cursor_example', # String | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response.
+ page_size: 789, # Integer | The number of results to return per page. Maximum is 250.
+ updated_after: Time.parse('2013-10-20T19:20:30+01:00'), # Time | Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged. If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).
+ include_deleted: Kombo::GetAtsInterviewsParameterIncludeDeleted::TRUE, # GetAtsInterviewsParameterIncludeDeleted | By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.
+ ids: 'ids_example', # String | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
+ remote_ids: 'remote_ids_example', # String | Filter by a comma-separated list of remote IDs.
+ job_ids: 'job_ids_example' # String | Filter by a comma-separated list of job IDs. We will only return interviews for applications associated with any of these jobs.
+}
+
+begin
+ # Get interviews
+ result = api_instance.get_ats_interviews(x_integration_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_interviews: #{e}"
+end
+```
+
+#### Using the get_ats_interviews_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_ats_interviews_with_http_info(x_integration_id, opts)
+
+```ruby
+begin
+ # Get interviews
+ data, status_code, headers = api_instance.get_ats_interviews_with_http_info(x_integration_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_interviews_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **cursor** | **String** | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. | [optional] |
+| **page_size** | **Integer** | The number of results to return per page. Maximum is 250. | [optional][default to 100] |
+| **updated_after** | **Time** | Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged. If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior). | [optional] |
+| **include_deleted** | [**GetAtsInterviewsParameterIncludeDeleted**](.md) | By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. | [optional][default to 'false'] |
+| **ids** | **String** | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. | [optional] |
+| **remote_ids** | **String** | Filter by a comma-separated list of remote IDs. | [optional] |
+| **job_ids** | **String** | Filter by a comma-separated list of job IDs. We will only return interviews for applications associated with any of these jobs. | [optional] |
+
+### Return type
+
+[**GetAtsInterviewsPositiveResponse**](GetAtsInterviewsPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_ats_jobs
+
+> get_ats_jobs(x_integration_id, opts)
+
+Get jobs
+
+Retrieve all jobs. Visit our in-depth guides to learn more about: - 🔄 [Getting updates of the data](/ats/features/implementation-guide/reading-jobs#getting-updates-of-the-data) - ❗ [Handling failing syncs](/ats/features/implementation-guide/reading-jobs#handling-failing-syncs) - 🔍 [Letting your customer choose which jobs to expose](/ats/features/implementation-guide/reading-jobs#let-your-customer-choose-which-jobs-to-expose-to-you) - 🔗 [Matching jobs in your database to ATS jobs](/ats/features/implementation-guide/reading-jobs#match-jobs-in-your-database-to-ats-jobs) - 🗑️ [Reacting to deleted/closed jobs](/ats/features/implementation-guide/reading-jobs#reacting-to-deleted-closed-jobs) Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+opts = {
+ cursor: 'cursor_example', # String | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response.
+ page_size: 789, # Integer | The number of results to return per page. Maximum is 250.
+ updated_after: Time.parse('2013-10-20T19:20:30+01:00'), # Time | Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged. If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).
+ include_deleted: Kombo::GetAtsJobsParameterIncludeDeleted::TRUE, # GetAtsJobsParameterIncludeDeleted | By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.
+ ids: 'ids_example', # String | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
+ remote_ids: 'remote_ids_example', # String | Filter by a comma-separated list of remote IDs.
+ job_codes: 'job_codes_example', # String | Filter by a comma-separated list of job codes.
+ post_url: 'post_url_example', # String | Filter by the `post_url` field. Can be used to find a job based on its public posting URL.
+ status: Kombo::GetAtsJobsParameterStatus::OPEN, # GetAtsJobsParameterStatus | **(⚠️ Deprecated - Use the `statuses` filter instead.)** Filter by the `status` field. Can be used to find a job based on its status.
+ statuses: 'statuses_example', # String | Filter by a comma-separated list of `OPEN`, `CLOSED`, `DRAFT`, `ARCHIVED` Leave this blank to get results matching all values.
+ employment_types: 'employment_types_example', # String | Filter by a comma-separated list of `FULL_TIME`, `PART_TIME`, `CONTRACT`, `SEASONAL`, `INTERNSHIP` Leave this blank to get results matching all values.
+ visibilities: 'visibilities_example', # String | Filter by a comma-separated list of `PUBLIC`, `INTERNAL`, `UNLISTED`, `CONFIDENTIAL` Leave this blank to get results matching all values.
+ remote_created_after: Time.parse('2013-10-20T19:20:30+01:00'), # Time | Filter jobs by the day they were created in the remote system. This allows you to get jobs that were created on or after a certain day.
+ name_contains: 'name_contains_example' # String | Filter by the `name` field. Can be used to find a job by keywords present in the job name.
+}
+
+begin
+ # Get jobs
+ result = api_instance.get_ats_jobs(x_integration_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_jobs: #{e}"
+end
+```
+
+#### Using the get_ats_jobs_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_ats_jobs_with_http_info(x_integration_id, opts)
+
+```ruby
+begin
+ # Get jobs
+ data, status_code, headers = api_instance.get_ats_jobs_with_http_info(x_integration_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_jobs_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **cursor** | **String** | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. | [optional] |
+| **page_size** | **Integer** | The number of results to return per page. Maximum is 250. | [optional][default to 100] |
+| **updated_after** | **Time** | Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged. If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior). | [optional] |
+| **include_deleted** | [**GetAtsJobsParameterIncludeDeleted**](.md) | By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. | [optional][default to 'false'] |
+| **ids** | **String** | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. | [optional] |
+| **remote_ids** | **String** | Filter by a comma-separated list of remote IDs. | [optional] |
+| **job_codes** | **String** | Filter by a comma-separated list of job codes. | [optional] |
+| **post_url** | **String** | Filter by the `post_url` field. Can be used to find a job based on its public posting URL. | [optional] |
+| **status** | [**GetAtsJobsParameterStatus**](.md) | **(⚠️ Deprecated - Use the `statuses` filter instead.)** Filter by the `status` field. Can be used to find a job based on its status. | [optional] |
+| **statuses** | **String** | Filter by a comma-separated list of `OPEN`, `CLOSED`, `DRAFT`, `ARCHIVED` Leave this blank to get results matching all values. | [optional] |
+| **employment_types** | **String** | Filter by a comma-separated list of `FULL_TIME`, `PART_TIME`, `CONTRACT`, `SEASONAL`, `INTERNSHIP` Leave this blank to get results matching all values. | [optional] |
+| **visibilities** | **String** | Filter by a comma-separated list of `PUBLIC`, `INTERNAL`, `UNLISTED`, `CONFIDENTIAL` Leave this blank to get results matching all values. | [optional] |
+| **remote_created_after** | **Time** | Filter jobs by the day they were created in the remote system. This allows you to get jobs that were created on or after a certain day. | [optional] |
+| **name_contains** | **String** | Filter by the `name` field. Can be used to find a job by keywords present in the job name. | [optional] |
+
+### Return type
+
+[**GetAtsJobsPositiveResponse**](GetAtsJobsPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_ats_offers
+
+> get_ats_offers(x_integration_id, opts)
+
+Get offers
+
+Retrieve all offers. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+opts = {
+ cursor: 'cursor_example', # String | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response.
+ page_size: 789, # Integer | The number of results to return per page. Maximum is 250.
+ updated_after: Time.parse('2013-10-20T19:20:30+01:00'), # Time | Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged. If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).
+ include_deleted: Kombo::GetAtsOffersParameterIncludeDeleted::TRUE, # GetAtsOffersParameterIncludeDeleted | By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.
+ ids: 'ids_example', # String | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
+ remote_ids: 'remote_ids_example' # String | Filter by a comma-separated list of remote IDs.
+}
+
+begin
+ # Get offers
+ result = api_instance.get_ats_offers(x_integration_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_offers: #{e}"
+end
+```
+
+#### Using the get_ats_offers_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_ats_offers_with_http_info(x_integration_id, opts)
+
+```ruby
+begin
+ # Get offers
+ data, status_code, headers = api_instance.get_ats_offers_with_http_info(x_integration_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_offers_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **cursor** | **String** | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. | [optional] |
+| **page_size** | **Integer** | The number of results to return per page. Maximum is 250. | [optional][default to 100] |
+| **updated_after** | **Time** | Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged. If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior). | [optional] |
+| **include_deleted** | [**GetAtsOffersParameterIncludeDeleted**](.md) | By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. | [optional][default to 'false'] |
+| **ids** | **String** | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. | [optional] |
+| **remote_ids** | **String** | Filter by a comma-separated list of remote IDs. | [optional] |
+
+### Return type
+
+[**GetAtsOffersPositiveResponse**](GetAtsOffersPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_ats_rejection_reasons
+
+> get_ats_rejection_reasons(x_integration_id, opts)
+
+Get rejection reasons
+
+Retrieve all rejection reasons. Get all rejection reasons available in the system. The Kombo ID is required in the associated [reject application action](/ats/v1/post-applications-application-id-reject). Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+opts = {
+ cursor: 'cursor_example', # String | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response.
+ page_size: 789, # Integer | The number of results to return per page. Maximum is 250.
+ updated_after: Time.parse('2013-10-20T19:20:30+01:00'), # Time | Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged. If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).
+ include_deleted: Kombo::GetAtsRejectionReasonsParameterIncludeDeleted::TRUE, # GetAtsRejectionReasonsParameterIncludeDeleted | By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.
+ ids: 'ids_example', # String | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
+ remote_ids: 'remote_ids_example' # String | Filter by a comma-separated list of remote IDs.
+}
+
+begin
+ # Get rejection reasons
+ result = api_instance.get_ats_rejection_reasons(x_integration_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_rejection_reasons: #{e}"
+end
+```
+
+#### Using the get_ats_rejection_reasons_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_ats_rejection_reasons_with_http_info(x_integration_id, opts)
+
+```ruby
+begin
+ # Get rejection reasons
+ data, status_code, headers = api_instance.get_ats_rejection_reasons_with_http_info(x_integration_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_rejection_reasons_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **cursor** | **String** | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. | [optional] |
+| **page_size** | **Integer** | The number of results to return per page. Maximum is 250. | [optional][default to 100] |
+| **updated_after** | **Time** | Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged. If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior). | [optional] |
+| **include_deleted** | [**GetAtsRejectionReasonsParameterIncludeDeleted**](.md) | By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. | [optional][default to 'false'] |
+| **ids** | **String** | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. | [optional] |
+| **remote_ids** | **String** | Filter by a comma-separated list of remote IDs. | [optional] |
+
+### Return type
+
+[**GetAtsRejectionReasonsPositiveResponse**](GetAtsRejectionReasonsPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_ats_tags
+
+> get_ats_tags(x_integration_id, opts)
+
+Get tags
+
+Retrieve all tags. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+opts = {
+ cursor: 'cursor_example', # String | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response.
+ page_size: 789, # Integer | The number of results to return per page. Maximum is 250.
+ updated_after: Time.parse('2013-10-20T19:20:30+01:00'), # Time | Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged. If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).
+ include_deleted: Kombo::GetAtsTagsParameterIncludeDeleted::TRUE, # GetAtsTagsParameterIncludeDeleted | By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.
+ ids: 'ids_example', # String | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
+ remote_ids: 'remote_ids_example' # String | Filter by a comma-separated list of remote IDs.
+}
+
+begin
+ # Get tags
+ result = api_instance.get_ats_tags(x_integration_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_tags: #{e}"
+end
+```
+
+#### Using the get_ats_tags_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_ats_tags_with_http_info(x_integration_id, opts)
+
+```ruby
+begin
+ # Get tags
+ data, status_code, headers = api_instance.get_ats_tags_with_http_info(x_integration_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_tags_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **cursor** | **String** | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. | [optional] |
+| **page_size** | **Integer** | The number of results to return per page. Maximum is 250. | [optional][default to 100] |
+| **updated_after** | **Time** | Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged. If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior). | [optional] |
+| **include_deleted** | [**GetAtsTagsParameterIncludeDeleted**](.md) | By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. | [optional][default to 'false'] |
+| **ids** | **String** | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. | [optional] |
+| **remote_ids** | **String** | Filter by a comma-separated list of remote IDs. | [optional] |
+
+### Return type
+
+[**GetAtsTagsPositiveResponse**](GetAtsTagsPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## get_ats_users
+
+> get_ats_users(x_integration_id, opts)
+
+Get users
+
+Retrieve all users. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+opts = {
+ cursor: 'cursor_example', # String | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response.
+ page_size: 789, # Integer | The number of results to return per page. Maximum is 250.
+ updated_after: Time.parse('2013-10-20T19:20:30+01:00'), # Time | Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged. If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).
+ include_deleted: Kombo::GetAtsUsersParameterIncludeDeleted::TRUE, # GetAtsUsersParameterIncludeDeleted | By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.
+ ids: 'ids_example', # String | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
+ remote_ids: 'remote_ids_example', # String | Filter by a comma-separated list of remote IDs.
+ emails: 'emails_example' # String | Filter by a comma-separated list of emails. We will only return users who have _any_ of the emails. The format of the emails is case-insensitive.
+}
+
+begin
+ # Get users
+ result = api_instance.get_ats_users(x_integration_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_users: #{e}"
+end
+```
+
+#### Using the get_ats_users_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> get_ats_users_with_http_info(x_integration_id, opts)
+
+```ruby
+begin
+ # Get users
+ data, status_code, headers = api_instance.get_ats_users_with_http_info(x_integration_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->get_ats_users_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **cursor** | **String** | An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response. | [optional] |
+| **page_size** | **Integer** | The number of results to return per page. Maximum is 250. | [optional][default to 100] |
+| **updated_after** | **Time** | Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged. If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden. For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior). | [optional] |
+| **include_deleted** | [**GetAtsUsersParameterIncludeDeleted**](.md) | By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too. | [optional][default to 'false'] |
+| **ids** | **String** | Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`. | [optional] |
+| **remote_ids** | **String** | Filter by a comma-separated list of remote IDs. | [optional] |
+| **emails** | **String** | Filter by a comma-separated list of emails. We will only return users who have _any_ of the emails. The format of the emails is case-insensitive. | [optional] |
+
+### Return type
+
+[**GetAtsUsersPositiveResponse**](GetAtsUsersPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+
+## patch_ats_applications_application_id_interviews
+
+> patch_ats_applications_application_id_interviews(x_integration_id, application_id, opts)
+
+Update interview
+
+Update interview **Closed Beta Feature:** This endpoint is currently in closed beta. We're testing it with selected customers before its public release. If you're interested in learning more or getting early access, please reach out.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+application_id = 'application_id_example' # String | The ID of the application
+opts = {
+ patch_ats_applications_application_id_interviews_request_body: Kombo::PatchAtsApplicationsApplicationIdInterviewsRequestBody.new({interview_id: 'interview_id_example', title: 'title_example', start_time: 'start_time_example', end_time: 'end_time_example', interviewer_user_ids: ['interviewer_user_ids_example'], organizer_user_id: 'organizer_user_id_example', location: Kombo::PatchAtsApplicationsApplicationIdInterviewsRequestBodyLocation.new({type: 'PHYSICAL'})}) # PatchAtsApplicationsApplicationIdInterviewsRequestBody | PATCH /ats/applications/:application_id/interviews Request body
+}
+
+begin
+ # Update interview
+ result = api_instance.patch_ats_applications_application_id_interviews(x_integration_id, application_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->patch_ats_applications_application_id_interviews: #{e}"
+end
+```
+
+#### Using the patch_ats_applications_application_id_interviews_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> patch_ats_applications_application_id_interviews_with_http_info(x_integration_id, application_id, opts)
+
+```ruby
+begin
+ # Update interview
+ data, status_code, headers = api_instance.patch_ats_applications_application_id_interviews_with_http_info(x_integration_id, application_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->patch_ats_applications_application_id_interviews_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **application_id** | **String** | The ID of the application | |
+| **patch_ats_applications_application_id_interviews_request_body** | [**PatchAtsApplicationsApplicationIdInterviewsRequestBody**](PatchAtsApplicationsApplicationIdInterviewsRequestBody.md) | PATCH /ats/applications/:application_id/interviews Request body | [optional] |
+
+### Return type
+
+[**PatchAtsApplicationsApplicationIdInterviewsPositiveResponse**](PatchAtsApplicationsApplicationIdInterviewsPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_ats_applications_application_id_attachments
+
+> post_ats_applications_application_id_attachments(x_integration_id, application_id, opts)
+
+Add attachment to application
+
+Uploads an attachment file for the specified applicant. If adding an attachment to an application is not supported by the integration, the attachment will be [added to the candidate](/ats/v1/post-candidates-candidate-id-attachments) instead. This endpoint requires the permission **Add attachments** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"application_id\": \"GRKdd9dibYKKCrmGRSMJf3wu\", \"attachment\": { \"name\": \"Frank Doe CV.txt\", \"data\": \"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=\", \"type\": \"CV\", \"content_type\": \"text/plain\" }, \"remote_fields\": {} } ```
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+application_id = 'GRKdd9dibYKKCrmGRSMJf3wu' # String | POST /ats/applications/:application_id/attachments Parameter
+opts = {
+ post_ats_applications_application_id_attachments_request_body: Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBody.new({attachment: Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment.new({name: 'name_example', type: 'CV'})}) # PostAtsApplicationsApplicationIdAttachmentsRequestBody | POST /ats/applications/:application_id/attachments Request body
+}
+
+begin
+ # Add attachment to application
+ result = api_instance.post_ats_applications_application_id_attachments(x_integration_id, application_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->post_ats_applications_application_id_attachments: #{e}"
+end
+```
+
+#### Using the post_ats_applications_application_id_attachments_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_ats_applications_application_id_attachments_with_http_info(x_integration_id, application_id, opts)
+
+```ruby
+begin
+ # Add attachment to application
+ data, status_code, headers = api_instance.post_ats_applications_application_id_attachments_with_http_info(x_integration_id, application_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->post_ats_applications_application_id_attachments_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **application_id** | **String** | POST /ats/applications/:application_id/attachments Parameter | |
+| **post_ats_applications_application_id_attachments_request_body** | [**PostAtsApplicationsApplicationIdAttachmentsRequestBody**](PostAtsApplicationsApplicationIdAttachmentsRequestBody.md) | POST /ats/applications/:application_id/attachments Request body | [optional] |
+
+### Return type
+
+[**PostAtsApplicationsApplicationIdAttachmentsPositiveResponse**](PostAtsApplicationsApplicationIdAttachmentsPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_ats_applications_application_id_interviews
+
+> post_ats_applications_application_id_interviews(x_integration_id, application_id, opts)
+
+Create interview
+
+Create interview **Closed Beta Feature:** This endpoint is currently in closed beta. We're testing it with selected customers before its public release. If you're interested in learning more or getting early access, please reach out.
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+application_id = 'application_id_example' # String | The ID of the application
+opts = {
+ post_ats_applications_application_id_interviews_request_body: Kombo::PostAtsApplicationsApplicationIdInterviewsRequestBody.new({title: 'title_example', start_time: 'start_time_example', end_time: 'end_time_example', interviewer_user_ids: ['interviewer_user_ids_example'], organizer_user_id: 'organizer_user_id_example', location: Kombo::PostAtsApplicationsApplicationIdInterviewsRequestBodyLocation.new({type: 'PHYSICAL'})}) # PostAtsApplicationsApplicationIdInterviewsRequestBody | POST /ats/applications/:application_id/interviews Request body
+}
+
+begin
+ # Create interview
+ result = api_instance.post_ats_applications_application_id_interviews(x_integration_id, application_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->post_ats_applications_application_id_interviews: #{e}"
+end
+```
+
+#### Using the post_ats_applications_application_id_interviews_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_ats_applications_application_id_interviews_with_http_info(x_integration_id, application_id, opts)
+
+```ruby
+begin
+ # Create interview
+ data, status_code, headers = api_instance.post_ats_applications_application_id_interviews_with_http_info(x_integration_id, application_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->post_ats_applications_application_id_interviews_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **application_id** | **String** | The ID of the application | |
+| **post_ats_applications_application_id_interviews_request_body** | [**PostAtsApplicationsApplicationIdInterviewsRequestBody**](PostAtsApplicationsApplicationIdInterviewsRequestBody.md) | POST /ats/applications/:application_id/interviews Request body | [optional] |
+
+### Return type
+
+[**PostAtsApplicationsApplicationIdInterviewsPositiveResponse**](PostAtsApplicationsApplicationIdInterviewsPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_ats_applications_application_id_notes
+
+> post_ats_applications_application_id_notes(x_integration_id, application_id, opts)
+
+Add note to application
+
+Add a note to an application. Add extra information to an application. This can be any extra text information you want to add to an application. This endpoint requires the permission **Add notes** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"content\": \"A new message from the candidate is available in YourChat!\", \"content_type\": \"PLAIN_TEXT\", \"remote_fields\": {} } ```
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+application_id = '8Xi6iZrwusZqJmDGXs49GBmJ' # String | The Kombo ID of the application you want to create the note for.
+opts = {
+ post_ats_applications_application_id_notes_request_body: Kombo::PostAtsApplicationsApplicationIdNotesRequestBody.new({content: 'content_example', content_type: 'PLAIN_TEXT'}) # PostAtsApplicationsApplicationIdNotesRequestBody | POST /ats/applications/:application_id/notes Request body
+}
+
+begin
+ # Add note to application
+ result = api_instance.post_ats_applications_application_id_notes(x_integration_id, application_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->post_ats_applications_application_id_notes: #{e}"
+end
+```
+
+#### Using the post_ats_applications_application_id_notes_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_ats_applications_application_id_notes_with_http_info(x_integration_id, application_id, opts)
+
+```ruby
+begin
+ # Add note to application
+ data, status_code, headers = api_instance.post_ats_applications_application_id_notes_with_http_info(x_integration_id, application_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->post_ats_applications_application_id_notes_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **application_id** | **String** | The Kombo ID of the application you want to create the note for. | |
+| **post_ats_applications_application_id_notes_request_body** | [**PostAtsApplicationsApplicationIdNotesRequestBody**](PostAtsApplicationsApplicationIdNotesRequestBody.md) | POST /ats/applications/:application_id/notes Request body | [optional] |
+
+### Return type
+
+[**PostAtsApplicationsApplicationIdNotesPositiveResponse**](PostAtsApplicationsApplicationIdNotesPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_ats_applications_application_id_reject
+
+> post_ats_applications_application_id_reject(x_integration_id, application_id, opts)
+
+Reject application
+
+Rejects an application with a provided reason. Rejects an application with a provided reason. Optionally, you can provide a free text note. You can get the list of rejection reasons with our [Get rejection reasons endpoint](/ats/v1/get-rejection-reasons). This endpoint requires the permission **Reject applications** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"rejection_reason_id\": \"3PJ8PZhZZa1eEdd2DtPNtVup\", \"note\": \"Candidate was a great culture fit but didn't bring the hard skills we need.\", \"remote_fields\": {} } ```
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+application_id = 'GRKdd9dibYKKCrmGRSMJf3wu' # String | The Kombo ID of the application you want to reject.
+opts = {
+ post_ats_applications_application_id_reject_request_body: Kombo::PostAtsApplicationsApplicationIdRejectRequestBody.new({rejection_reason_id: 'rejection_reason_id_example'}) # PostAtsApplicationsApplicationIdRejectRequestBody | POST /ats/applications/:application_id/reject Request body
+}
+
+begin
+ # Reject application
+ result = api_instance.post_ats_applications_application_id_reject(x_integration_id, application_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->post_ats_applications_application_id_reject: #{e}"
+end
+```
+
+#### Using the post_ats_applications_application_id_reject_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_ats_applications_application_id_reject_with_http_info(x_integration_id, application_id, opts)
+
+```ruby
+begin
+ # Reject application
+ data, status_code, headers = api_instance.post_ats_applications_application_id_reject_with_http_info(x_integration_id, application_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->post_ats_applications_application_id_reject_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **application_id** | **String** | The Kombo ID of the application you want to reject. | |
+| **post_ats_applications_application_id_reject_request_body** | [**PostAtsApplicationsApplicationIdRejectRequestBody**](PostAtsApplicationsApplicationIdRejectRequestBody.md) | POST /ats/applications/:application_id/reject Request body | [optional] |
+
+### Return type
+
+[**PostAtsApplicationsApplicationIdRejectPositiveResponse**](PostAtsApplicationsApplicationIdRejectPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_ats_applications_application_id_result_links
+
+> post_ats_applications_application_id_result_links(x_integration_id, application_id, opts)
+
+Add result link to application
+
+Add a result link to an application. This can, for example, be used to link a candidate back to a test result/assessment in your application. As not all ATS tools have a \"result link\" feature, we sometimes repurpose other fields to expose it. This endpoint requires the permission **Add result links** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"application_id\": \"8Xi6iZrwusZqJmDGXs49GBmJ\", \"label\": \"Assessment Result\", \"url\": \"https://example.com/test-results/5BtP1WC1UboS7CF3yxjKcvjG\", \"details\": { \"custom_field_name_prefix\": \"Acme:\", \"attributes\": [ { \"key\": \"Score\", \"value\": \"100%\" }, { \"key\": \"Time\", \"value\": \"2:30h\" } ] }, \"remote_fields\": {} } ```
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+application_id = '8Xi6iZrwusZqJmDGXs49GBmJ' # String | The Kombo ID of the application you want to create the link for.
+opts = {
+ post_ats_applications_application_id_result_links_request_body: Kombo::PostAtsApplicationsApplicationIdResultLinksRequestBody.new({label: 'label_example', url: 'url_example'}) # PostAtsApplicationsApplicationIdResultLinksRequestBody | POST /ats/applications/:application_id/result-links Request body
+}
+
+begin
+ # Add result link to application
+ result = api_instance.post_ats_applications_application_id_result_links(x_integration_id, application_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->post_ats_applications_application_id_result_links: #{e}"
+end
+```
+
+#### Using the post_ats_applications_application_id_result_links_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_ats_applications_application_id_result_links_with_http_info(x_integration_id, application_id, opts)
+
+```ruby
+begin
+ # Add result link to application
+ data, status_code, headers = api_instance.post_ats_applications_application_id_result_links_with_http_info(x_integration_id, application_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->post_ats_applications_application_id_result_links_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **application_id** | **String** | The Kombo ID of the application you want to create the link for. | |
+| **post_ats_applications_application_id_result_links_request_body** | [**PostAtsApplicationsApplicationIdResultLinksRequestBody**](PostAtsApplicationsApplicationIdResultLinksRequestBody.md) | POST /ats/applications/:application_id/result-links Request body | [optional] |
+
+### Return type
+
+[**PostAtsApplicationsApplicationIdResultLinksPositiveResponse**](PostAtsApplicationsApplicationIdResultLinksPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_ats_candidates
+
+> post_ats_candidates(x_integration_id, opts)
+
+Create candidate
+
+Create a new candidate and application for the specified job. **We recommend using the [Create application](/ats/v1/post-jobs-job-id-applications) endpoint instead.** We realized that in practice it was always more about creating _applications_ instead of _candidates_, so we created a new, more aptly named one that you should use instead: [Create application](/ats/v1/post-jobs-job-id-applications) Using it also has the benefit that we return the newly created applicant at the root level, so you can easily store its ID. This endpoint requires the permission **Create applications and candidates** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"candidate\": { \"first_name\": \"Frank\", \"last_name\": \"Doe\", \"company\": \"Acme Inc.\", \"title\": \"Head of Integrations\", \"email_address\": \"frank.doe@example.com\", \"phone_number\": \"+1-541-754-3010\", \"gender\": \"MALE\", \"salary_expectations\": { \"amount\": 100000, \"period\": \"YEAR\" }, \"availability_date\": \"2021-01-01\", \"location\": { \"city\": \"New York\", \"country\": \"US\", \"state\": \"NY\" }, \"social_links\": [ { \"url\": \"https://www.linkedin.com/in/frank-doe-123456789/\" }, { \"url\": \"https://twitter.com/frankdoe\" } ] }, \"application\": { \"job_id\": \"BDpgnpZ148nrGh4mYHNxJBgx\", \"stage_id\": \"8x3YKRDcuRnwShdh96ShBNn1\" }, \"attachments\": [ { \"name\": \"Frank Doe CV.txt\", \"data\": \"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=\", \"type\": \"CV\", \"content_type\": \"text/plain\" } ], \"screening_question_answers\": [ { \"question_id\": \"3phFBNXRweGnDmsU9o2vdPuQ\", \"answer\": \"Yes\" }, { \"question_id\": \"EYJjhMQT3LtVKXnTbnRT8s6U\", \"answer\": [ \"GUzE666zfyjeoCJX6A8n7wh6\", \"5WPHzzKAv8cx97KtHRUV96U8\", \"7yZfKGzWigXxxRTygqAfHvyE\" ] } ], \"remote_fields\": {} } ```
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+opts = {
+ post_ats_candidates_request_body: Kombo::PostAtsCandidatesRequestBody.new({candidate: Kombo::PostAtsCandidatesRequestBodyCandidate.new({first_name: 'first_name_example', last_name: 'last_name_example', email_address: 'email_address_example'}), application: Kombo::PostAtsCandidatesRequestBodyApplication.new({job_id: 'job_id_example'})}) # PostAtsCandidatesRequestBody | POST /ats/candidates Request body
+}
+
+begin
+ # Create candidate
+ result = api_instance.post_ats_candidates(x_integration_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->post_ats_candidates: #{e}"
+end
+```
+
+#### Using the post_ats_candidates_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_ats_candidates_with_http_info(x_integration_id, opts)
+
+```ruby
+begin
+ # Create candidate
+ data, status_code, headers = api_instance.post_ats_candidates_with_http_info(x_integration_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->post_ats_candidates_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **post_ats_candidates_request_body** | [**PostAtsCandidatesRequestBody**](PostAtsCandidatesRequestBody.md) | POST /ats/candidates Request body | [optional] |
+
+### Return type
+
+[**PostAtsCandidatesPositiveResponse**](PostAtsCandidatesPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_ats_candidates_candidate_id_attachments
+
+> post_ats_candidates_candidate_id_attachments(x_integration_id, candidate_id, opts)
+
+Add attachment to candidate
+
+Uploads an attachment file for the specified candidate. **We recommend using the [add attachment to application](/ats/v1/post-applications-application-id-attachments) endpoint instead.** We realized that in practice it was always more about adding attachments to _applications_ instead of _candidates_, so we created a new, more aptly named one that you should use instead: [add attachment to application](/ats/v1/post-applications-application-id-attachments) This endpoint requires the permission **Add attachments** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"candidate_id\": \"GRKdd9dibYKKCrmGRSMJf3wu\", \"attachment\": { \"name\": \"Frank Doe CV.txt\", \"data\": \"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=\", \"type\": \"CV\", \"content_type\": \"text/plain\" } } ```
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+candidate_id = 'GRKdd9dibYKKCrmGRSMJf3wu' # String | The Kombo ID of the candidate you want to add the attachment to.
+opts = {
+ post_ats_candidates_candidate_id_attachments_request_body: Kombo::PostAtsCandidatesCandidateIdAttachmentsRequestBody.new({attachment: Kombo::PostAtsApplicationsApplicationIdAttachmentsRequestBodyAttachment.new({name: 'name_example', type: 'CV'})}) # PostAtsCandidatesCandidateIdAttachmentsRequestBody | POST /ats/candidates/:candidate_id/attachments Request body
+}
+
+begin
+ # Add attachment to candidate
+ result = api_instance.post_ats_candidates_candidate_id_attachments(x_integration_id, candidate_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->post_ats_candidates_candidate_id_attachments: #{e}"
+end
+```
+
+#### Using the post_ats_candidates_candidate_id_attachments_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_ats_candidates_candidate_id_attachments_with_http_info(x_integration_id, candidate_id, opts)
+
+```ruby
+begin
+ # Add attachment to candidate
+ data, status_code, headers = api_instance.post_ats_candidates_candidate_id_attachments_with_http_info(x_integration_id, candidate_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->post_ats_candidates_candidate_id_attachments_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **candidate_id** | **String** | The Kombo ID of the candidate you want to add the attachment to. | |
+| **post_ats_candidates_candidate_id_attachments_request_body** | [**PostAtsCandidatesCandidateIdAttachmentsRequestBody**](PostAtsCandidatesCandidateIdAttachmentsRequestBody.md) | POST /ats/candidates/:candidate_id/attachments Request body | [optional] |
+
+### Return type
+
+[**PostAtsCandidatesCandidateIdAttachmentsPositiveResponse**](PostAtsCandidatesCandidateIdAttachmentsPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_ats_candidates_candidate_id_result_links
+
+> post_ats_candidates_candidate_id_result_links(x_integration_id, candidate_id, opts)
+
+Add result link to candidate
+
+Add a result link to a candidate. **We recommend to use [add result link to application](/ats/v1/post-applications-application-id-result-links) instead.** This can, for example, be used to link a candidate back to a test result/assessment in your application. As not all ATS tools have a \"result link\" feature, we sometimes repurpose other fields to expose it. This endpoint requires the permission **Add result links** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"label\": \"Assessment Result\", \"url\": \"https://example.com/test-results/5BtP1WC1UboS7CF3yxjKcvjG\", \"details\": { \"custom_field_name_prefix\": \"Acme:\", \"attributes\": [ { \"key\": \"Score\", \"value\": \"100%\" }, { \"key\": \"Time\", \"value\": \"2:30h\" } ] }, \"remote_fields\": {} } ```
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+candidate_id = '8Xi6iZrwusZqJmDGXs49GBmJ' # String | The Kombo ID of the candidate you want to add the result link to.
+opts = {
+ post_ats_candidates_candidate_id_result_links_request_body: Kombo::PostAtsCandidatesCandidateIdResultLinksRequestBody.new({label: 'label_example', url: 'url_example'}) # PostAtsCandidatesCandidateIdResultLinksRequestBody | POST /ats/candidates/:candidate_id/result-links Request body
+}
+
+begin
+ # Add result link to candidate
+ result = api_instance.post_ats_candidates_candidate_id_result_links(x_integration_id, candidate_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->post_ats_candidates_candidate_id_result_links: #{e}"
+end
+```
+
+#### Using the post_ats_candidates_candidate_id_result_links_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_ats_candidates_candidate_id_result_links_with_http_info(x_integration_id, candidate_id, opts)
+
+```ruby
+begin
+ # Add result link to candidate
+ data, status_code, headers = api_instance.post_ats_candidates_candidate_id_result_links_with_http_info(x_integration_id, candidate_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->post_ats_candidates_candidate_id_result_links_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **candidate_id** | **String** | The Kombo ID of the candidate you want to add the result link to. | |
+| **post_ats_candidates_candidate_id_result_links_request_body** | [**PostAtsCandidatesCandidateIdResultLinksRequestBody**](PostAtsCandidatesCandidateIdResultLinksRequestBody.md) | POST /ats/candidates/:candidate_id/result-links Request body | [optional] |
+
+### Return type
+
+[**PostAtsCandidatesCandidateIdResultLinksPositiveResponse**](PostAtsCandidatesCandidateIdResultLinksPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_ats_candidates_candidate_id_tags
+
+> post_ats_candidates_candidate_id_tags(x_integration_id, candidate_id, opts)
+
+Add tag to candidate
+
+Add a tag to a candidate. Kombo takes care of creating the tag if required, finding out the right ID, and appending it to the list of tags. This endpoint requires the permission **Manage tags** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"tag\": { \"name\": \"Excellent Fit\" } } ```
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+candidate_id = '8Xi6iZrwusZqJmDGXs49GBmJ' # String | The Kombo ID of the candidate you want to add the tag to.
+opts = {
+ post_ats_candidates_candidate_id_tags_request_body: Kombo::PostAtsCandidatesCandidateIdTagsRequestBody.new({tag: Kombo::PostAtsCandidatesCandidateIdTagsRequestBodyTag.new({name: 'name_example'})}) # PostAtsCandidatesCandidateIdTagsRequestBody | POST /ats/candidates/:candidate_id/tags Request body
+}
+
+begin
+ # Add tag to candidate
+ result = api_instance.post_ats_candidates_candidate_id_tags(x_integration_id, candidate_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->post_ats_candidates_candidate_id_tags: #{e}"
+end
+```
+
+#### Using the post_ats_candidates_candidate_id_tags_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_ats_candidates_candidate_id_tags_with_http_info(x_integration_id, candidate_id, opts)
+
+```ruby
+begin
+ # Add tag to candidate
+ data, status_code, headers = api_instance.post_ats_candidates_candidate_id_tags_with_http_info(x_integration_id, candidate_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->post_ats_candidates_candidate_id_tags_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **candidate_id** | **String** | The Kombo ID of the candidate you want to add the tag to. | |
+| **post_ats_candidates_candidate_id_tags_request_body** | [**PostAtsCandidatesCandidateIdTagsRequestBody**](PostAtsCandidatesCandidateIdTagsRequestBody.md) | POST /ats/candidates/:candidate_id/tags Request body | [optional] |
+
+### Return type
+
+[**PostAtsCandidatesCandidateIdTagsPositiveResponse**](PostAtsCandidatesCandidateIdTagsPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_ats_import_tracked_application
+
+> post_ats_import_tracked_application(x_integration_id, opts)
+
+Import tracked application
+
+Import tracked application Retroactively import existing applications into Kombo's tracking system. This is particularly useful if you have enabled the 'sync only created applications' setting and want to start tracking applications that were created before using Kombo. To import an application, you'll need to provide specific identifiers based on the ATS. The available `id_type` values are defined by Kombo based on the tool's API capabilities. Please reach out to Kombo support if you require further types to be supported. Once imported, Kombo will automatically fetch and update the application's complete data during the next sync. ### Example Request Body ```json { \"tracked_at\": \"2024-04-12T14:33:47.000Z\", \"successfactors\": { \"id_type\": \"application_remote_id\", \"application_remote_id\": \"1224042\" } } ```
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+opts = {
+ post_ats_import_tracked_application_request_body: Kombo::PostAtsImportTrackedApplicationRequestBody.new({tracked_at: Time.now}) # PostAtsImportTrackedApplicationRequestBody | POST /ats/import-tracked-application Request body
+}
+
+begin
+ # Import tracked application
+ result = api_instance.post_ats_import_tracked_application(x_integration_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->post_ats_import_tracked_application: #{e}"
+end
+```
+
+#### Using the post_ats_import_tracked_application_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_ats_import_tracked_application_with_http_info(x_integration_id, opts)
+
+```ruby
+begin
+ # Import tracked application
+ data, status_code, headers = api_instance.post_ats_import_tracked_application_with_http_info(x_integration_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->post_ats_import_tracked_application_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **post_ats_import_tracked_application_request_body** | [**PostAtsImportTrackedApplicationRequestBody**](PostAtsImportTrackedApplicationRequestBody.md) | POST /ats/import-tracked-application Request body | [optional] |
+
+### Return type
+
+[**PostAtsImportTrackedApplicationPositiveResponse**](PostAtsImportTrackedApplicationPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## post_ats_jobs_job_id_applications
+
+> post_ats_jobs_job_id_applications(x_integration_id, job_id, opts)
+
+Create application
+
+Create a new application and candidate for the specified job. Visit our in-depth guides to learn more about: - 🌐 [Setting the source of the application](/ats/features/implementation-guide/creating-applications#set-the-source-of-the-application) - 📎 [Uploading attachments with the application](/ats/features/implementation-guide/creating-applications#upload-attachments-with-the-application) - ♻️ [Retry behaviour](/ats/features/implementation-guide/creating-applications#retry-behaviour) - ✏️ [Writing answers to screening questions](/ats/features/implementation-guide/creating-applications#write-answers-to-screening-questions) - ⚠️ [Handling ATS-specific limitations](/ats/features/implementation-guide/creating-applications#handle-ats-specific-limitations) This endpoint requires the permission **Create applications and candidates** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"candidate\": { \"first_name\": \"Frank\", \"last_name\": \"Doe\", \"company\": \"Acme Inc.\", \"title\": \"Head of Integrations\", \"email_address\": \"frank.doe@example.com\", \"phone_number\": \"+1-541-754-3010\", \"gender\": \"MALE\", \"salary_expectations\": { \"amount\": 100000, \"period\": \"YEAR\" }, \"availability_date\": \"2021-01-01\", \"location\": { \"city\": \"New York\", \"country\": \"US\" } }, \"stage_id\": \"8x3YKRDcuRnwShdh96ShBNn1\", \"attachments\": [ { \"name\": \"Frank Doe CV.txt\", \"data\": \"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=\", \"type\": \"CV\", \"content_type\": \"text/plain\" } ], \"screening_question_answers\": [ { \"question_id\": \"3phFBNXRweGnDmsU9o2vdPuQ\", \"answer\": \"Yes\" }, { \"question_id\": \"EYJjhMQT3LtVKXnTbnRT8s6U\", \"answer\": [ \"GUzE666zfyjeoCJX6A8n7wh6\", \"5WPHzzKAv8cx97KtHRUV96U8\", \"7yZfKGzWigXxxRTygqAfHvyE\" ] } ], \"remote_fields\": {} } ```
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+job_id = 'BDpgnpZ148nrGh4mYHNxJBgx' # String | The Kombo ID or Remote ID of the Job this candidate should apply for. If you want to use the ID of the integrated system (remote_id) you need to prefix the id with \"remote:\". You can use the remote ID if you do not want to sync jobs.
+opts = {
+ post_ats_jobs_job_id_applications_request_body: Kombo::PostAtsJobsJobIdApplicationsRequestBody.new({candidate: Kombo::PostAtsCandidatesRequestBodyCandidate.new({first_name: 'first_name_example', last_name: 'last_name_example', email_address: 'email_address_example'})}) # PostAtsJobsJobIdApplicationsRequestBody | POST /ats/jobs/:job_id/applications Request body
+}
+
+begin
+ # Create application
+ result = api_instance.post_ats_jobs_job_id_applications(x_integration_id, job_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->post_ats_jobs_job_id_applications: #{e}"
+end
+```
+
+#### Using the post_ats_jobs_job_id_applications_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> post_ats_jobs_job_id_applications_with_http_info(x_integration_id, job_id, opts)
+
+```ruby
+begin
+ # Create application
+ data, status_code, headers = api_instance.post_ats_jobs_job_id_applications_with_http_info(x_integration_id, job_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->post_ats_jobs_job_id_applications_with_http_info: #{e}"
+end
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| ---- | ---- | ----------- | ----- |
+| **x_integration_id** | **String** | ID of the integration you want to interact with. | |
+| **job_id** | **String** | The Kombo ID or Remote ID of the Job this candidate should apply for. If you want to use the ID of the integrated system (remote_id) you need to prefix the id with \"remote:\". You can use the remote ID if you do not want to sync jobs. | |
+| **post_ats_jobs_job_id_applications_request_body** | [**PostAtsJobsJobIdApplicationsRequestBody**](PostAtsJobsJobIdApplicationsRequestBody.md) | POST /ats/jobs/:job_id/applications Request body | [optional] |
+
+### Return type
+
+[**PostAtsJobsJobIdApplicationsPositiveResponse**](PostAtsJobsJobIdApplicationsPositiveResponse.md)
+
+### Authorization
+
+[ApiKey](../README.md#ApiKey)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+
+## put_ats_applications_application_id_stage
+
+> put_ats_applications_application_id_stage(x_integration_id, application_id, opts)
+
+Move application to stage
+
+Moves an application to a specified stage. Use job-specific stages from GET /jobs, not the deprecated /application-stages endpoint. This endpoint requires the permission **Set application stage** to be enabled in [your scope config](/scopes). ### Example Request Body ```json { \"stage_id\": \"3PJ8PZhZZa1eEdd2DtPNtVup\" } ```
+
+### Examples
+
+```ruby
+require 'time'
+require 'kombo_client'
+# setup authorization
+Kombo.configure do |config|
+ # Configure Bearer authorization: ApiKey
+ config.access_token = 'YOUR_BEARER_TOKEN'
+end
+
+api_instance = Kombo::UnifiedATSAPIApi.new
+x_integration_id = 'join:HWUTwvyx2wLoSUHphiWVrp28' # String | ID of the integration you want to interact with.
+application_id = 'GRKdd9dibYKKCrmGRSMJf3wu' # String | The Kombo ID of the application you want to move to a different stage.
+opts = {
+ put_ats_applications_application_id_stage_request_body: Kombo::PutAtsApplicationsApplicationIdStageRequestBody.new({stage_id: 'stage_id_example'}) # PutAtsApplicationsApplicationIdStageRequestBody | PUT /ats/applications/:application_id/stage Request body
+}
+
+begin
+ # Move application to stage
+ result = api_instance.put_ats_applications_application_id_stage(x_integration_id, application_id, opts)
+ p result
+rescue Kombo::ApiError => e
+ puts "Error when calling UnifiedATSAPIApi->put_ats_applications_application_id_stage: #{e}"
+end
+```
+
+#### Using the put_ats_applications_application_id_stage_with_http_info variant
+
+This returns an Array which contains the response data, status code and headers.
+
+> , Integer, Hash)> put_ats_applications_application_id_stage_with_http_info(x_integration_id, application_id, opts)
+
+```ruby
+begin
+ # Move application to stage
+ data, status_code, headers = api_instance.put_ats_applications_application_id_stage_with_http_info(x_integration_id, application_id, opts)
+ p status_code # => 2xx
+ p headers # => { ... }
+ p data # =>